查看文章 |
nginx配置文件的bug?
2009-04-22 16:24
有一些动态图片虽然是用php脚本生成的,但是希望可以在客户端缓存,因此在nginx的配置文件里边增加了一个if语句来控制缓存有关的header。 # 动态图片部分需要使用缓存 location ~ .*\.php$ { if ($request_uri !~ ^/dynamicimg/) { add_header Cache-Control "no-cache, no-store, max-age=0, must-revalidate"; add_header Pragma no-cache; } add_header Via "1.0 server-ubuntu"; ... } 原本期望的效果是当请求页面为/dynamicimg/开头的文件时,不输出缓存控制有关的response header,但是对于所有的php请求,都会输出Via这个header,但是最终的结果却和这不同:当请求/dynamicimg/开头的文件时,会输出Via header,而请求其他php页面时,不会输出Via header。 把add_header Via "1.0 server-ubuntu";放到if语句的前面,效果也还是一样。后来不得不在if范围内增加一条重复的add_header语句,这才达到了最初的目的。 不知道这是不是nginx配置里边的一个bug。 |
最近读者: