无法在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 destroyvagrant 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

回到顶部