无法在nginx上设置etag标头
我在使用Nginx1.4.6时意识到必须设置gzip off;
才能够使用php设置ETag标头。
阅读之后this post 我用厨师升级到了Nginx 1.10.1。我加入了资源库的APT食谱与无法在nginx上设置etag标头
apt_repository 'nginx-php' do uri 'ppa:nginx/stable'
distribution node['lsb']['codename']
end
然后用nginx的升级:
package 'nginx' do action :upgrade
end
但是,一切都似乎是相同的,与旧版本nginx的。
仅当我明确设置gzip off;
时,才可以设置ETag标头。
另外我没有在我的nginx.conf文件中看到etag on;
指令,并且手动设置它没有任何影响。
这可能是我只需要再做一次vagrant destroy
和vagrant provision
--但我想我在这里错过了一些东西。
UPDATE:
我现在再次detroying该机还删除.vagrant
文件夹后工作。但我不确定这是否是问题所在。 现在我可以设置ETag标题,并且请求包含If-None-Match
标题。但是我的Etags会被转换成弱Etags,而nginx会在散列之前加上W/
。这是默认行为吗?以及如何设置强大的Etags?
更新:
好吧,因为gzip上; etag很弱...有没有办法设置强启用gzip的etag?
回答:
回答我自己的问题。
甲强的Etag(用PHP)是利用
ob_start('ob_gzhandler')
当报头被发送之前设置。
以上是 无法在nginx上设置etag标头 的全部内容, 来源链接: utcz.com/qa/260150.html