Nginx docker容器如何设置强制返回标题头Vary

Nginx加响应头 vary: Accept-Encoding  
试过add_header Vary 'Accept-Encoding';和 gzip_vary  on; 
但是 gzip_vary  on;只在accept-encoding包含gzip时才生效.
需求是无论请求什么,都返回Vary 'Accept-Encoding'  这个头信息

展开
收起
amiba.org 2018-09-20 22:52:10 1273 分享 版权
阿里云 AI 助理回答

要实现在Nginx中无论请求内容如何,都添加Vary: Accept-Encoding响应头,您需要直接使用add_header指令,而非依赖于gzip_vary on;。因为如您所提到的,gzip_vary仅在客户端请求包含gzip在内的Accept-Encoding时才会生效。

请按照以下步骤修改您的Nginx配置:

  1. 定位Nginx配置文件

    • 找到与您的站点或应用相关的Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。
  2. 修改配置以添加响应头: 在相应的server块或者location块中(如果需要针对特定位置设置),添加如下配置行来强制添加Vary: Accept-Encoding响应头,无论请求的Accept-Encoding字段如何:

    add_header Vary Accept-Encoding always;
    

    注意这里的always参数,它确保该响应头始终被添加,不论请求的具体情况。

  3. 验证并应用配置更改

    • 验证配置文件语法是否正确:
      sudo nginx -t
      
    • 如果没有错误提示,重新加载Nginx配置以应用更改,无需重启服务,这样可以避免短暂的服务中断:
      sudo systemctl reload nginx
      

通过上述步骤,无论客户端发送的请求中Accept-Encoding字段的内容如何,Nginx都将返回带有Vary: Accept-Encoding的响应头,满足了您的需求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理