Hello!
2013/1/7 tianmo2009:
> 我们现在通过判断,初步认定是对方服务器为nginx或者tengine的时候,网页被缓存;对方为apached等其他的服务器的时候网页没有被缓存,请问下如何调整,使不能对方使用何种服务器,我们都能缓存其网页?谢谢。
>
你提供的信息过少,没有提供你使用的 nginx 配置,也没有提供使用的各个软件的版本,更没有操作系统的信息,所以我无法帮你诊断问题。
另外,如果你能提供问题响应的原始 HTTP 响应头的话,也会很有帮助(你可以通过 curl -i,对应的浏览器插件或者
tcpdump/WireShark 这样的抓包工具取得原始的 HTTP 响应)。
一个常见的问题是待缓存的响应不正确地设置了 Cache-Control 响应头(比如 Cache-Control: private 或者
Cache-Control: no-store 之类),导致被缓存忽略。如果你使用的是 ngx_srcache
模块进行缓存的话,可以考虑启用 nginx 的调试日志查看具体被跳过的原因(如果你不知道如何启用 nginx
的调试日志的话,请参见官方文档: http://nginx.org/en/docs/debugging_log.html )
同时抄送给 openresty 中文邮件列表:http://openresty.org/#Community
(建议你订阅此列表并总是在那里讨论这样的技术细节,除非涉及不宜公开的敏感信息,谢谢合作!)。
Best regards,
-agentzh