Tengine中proxy_cache部分链接无法生成缓存

发布于 2021-11-17 11:21:56 字数 857 浏览 929 评论 20

@shudu 你好,想跟你请教个问题:

我前段时间升级了Tengine,使用proxy_cache对主域名进行代理,但是因为链接是index.php?app=weibo&act=blog 这类的PHP链接,反向代理成功了。但是不能针对200 生成缓存(我已经去除no-cache)

fastcgi_cache 也是这样的情况,换一种程序比如WP,却可以正常生成缓存,是不是这种连接结构的问题,造成不能生成缓存呢。?

fastcgi_cache   cache_php; 
fastcgi_cache_valid   200 302  1h; 
fastcgi_cache_min_uses  1; 
fastcgi_cache_use_stale error  timeout invalid_header http_500; 
fastcgi_cache_key $host$request_uri; 

proxy_cache tengine_cache;
proxy_cache_valid  200 304 1h;
proxy_cache_valid  301 302 1d;
proxy_cache_valid any 1d;
proxy_cache_min_uses  1; 
proxy_cache_key $host$uri$is_args$args;



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(20

青萝楚歌 2021-11-22 08:09:02

我也很奇怪。为什么缓存的KEY只有index.php 后面的参数都不见。。配置我贴下面了。

樱花落人离去 2021-11-22 08:09:02

好奇怪啊,能贴一下你的全部配置吗?

尐偏执 2021-11-22 08:09:02

我换过好几个,都是这样的结果

坏尐絯 2021-11-22 08:09:02

fastcgi_cache_key $host$request_uri;

孤独患者 2021-11-22 08:09:02

你的fastcgi_cache_key是什么样子的?

平定天下 2021-11-22 08:09:02

你的fastcgi_cache_key是什么样子的?

回忆凄美了谁 2021-11-22 08:09:02

你把debug日志打开看看什么情况?

凯凯我们等你回来 2021-11-22 08:09:02

我开启了debug但是我不会看这个。我把文件发你帮看下吧。 http://pan.baidu.com/share/link?shareid=440414&uk=773327161

路还长,别太狂 2021-11-22 08:09:02

1、你给的配置文件不全,有些include的配置文件没有放出来
2、你的请求中,只请求了一次/,即index.php,没看到你给参数(如index.php?app=weibo&act=blog)

剑心龙吟 2021-11-22 08:09:02

我尽快整理一份详细的给你

复古式 2021-11-22 08:08:59

这个好像是NGINX的缓存不能缓存index.php? = 这种格式的链接,识别为一个INDEX.PHP运算了。。

醉生梦死 2021-11-22 08:07:53

你的fastcgi_cache_key是什么样子的?

韬韬不绝 2021-11-22 08:03:18

我放进去试过了。可以生成缓存。但是因为链接结构是/index.php?app=home 这类的。。第一次打开/index.php?app=home生成缓存,再打开/index.php?app=weibo 这里的链接的话。全部访问的都是/index.php?app=home的缓存页面。。。。THINKSNS THINKSAAS 这类的CMS跟我的程序一样都悲剧了。

屌丝范 2021-11-22 07:15:54

我查看过生成的缓存,KEY是这样的 KEY:www.xxx.com/index.php这里是乱码 然后是X-Powered BY :PHP,看来这种新型的结构注定悲剧。。 index.php?app=weibo&act=XX

檐上三寸雪 2021-11-22 05:20:59

原来有cookie啊,那应该就是这个原因了。

fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

试试这个。

流心雨 2021-11-22 05:08:09

检查一下nginx运行的用户和组在cache目录是否有权限?

另外,调低一下tengine的错误日志看有什么提示没有。

樱花落人离去 2021-11-22 03:14:45

通信是用的FastCGI,但是一样不生成缓存文件。我2个都用了。fastcgi_cache给主站用。proxy_cache用来代理二级目录作为二级域名使用。

2021-11-21 22:27:46

错误日志是0kb..wp系统可以正常生成文件缓存,是不是有cookie的php就不能缓存,我今天发现的唯一可疑的地方。

琴流音 2021-11-21 18:36:32

Tengine和PHP之间的通信是用FastCGI吗?那应该设置的是fastcgi_cache,和proxy_cache没有任何关系。

左岸枫 2021-11-21 15:16:57

我已发动到邮箱了。感谢你的帮助

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文