是这样的:我们这里有一个域名上了CDN,本来是缓存一些IMG和JS等一些静态资源的。但是因为业务需求,我们新添加了一个动态php文件做接口来接受一些用户的反馈内容。
然后今天在这个接口在线上出了一点小问题我要去调试发现,我改完代码后刷新竟然不起作用,但是我的链接改动参数就代码就起作用,当时我怀疑这个链接是被CDN缓存了,但是运维告诉我CDN不会缓存动态内文件。然后我去测试看nginx日志刷新网页确实没有访问日志。
最后运维把链接发给cdn厂商分析,确实是缓存了。CDN那边配置的遵循源站的策略,默认的话,我们没有设置PHP文件不缓存,就帮我们缓存了24小时
配置PHP不缓存的话我们需要在nginx配置文件location中添加header
<code><span>//配置PHP不缓存</span> location ~ <span>.</span><span>*\</span><span>.</span>(php<span>|</span>php5)<span>?</span>$ { add_header <span>Cache</span><span>-Control</span> no<span>-cache</span>; } <span>//配置缓存2分钟</span> location ~<span>*</span> ^<span>.</span><span>+\</span><span>.</span>(js<span>|</span>css)$ { expires <span>120</span>s; }</code>
以上就介绍了 切莫让CDN缓存里你的动态文件,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。