Nginx 如何在反向代理之后强制使用gzip?

Nginx 如何在反向代理之后强制使用gzip?,nginx,gzip,reverse-proxy,Nginx,Gzip,Reverse Proxy,我想使用nginx作为反向代理,我真的想优化nginx和后端之间的通信。我们传输的有效负载在未压缩时约为1Mb的文本,反向代理和服务器位于不同的数据中心 我的理解和我所做的测试表明,反向代理和后端之间的压缩取决于客户端请求 但这不是最优的,因为如果客户端在读取反向代理响应时没有配置为使用gzip,那么就没有理由不在nginx和后端服务器之间使用gzip 我想强制反向代理和后端之间的通信使用gzip,即使客户端没有请求它 我设法使它工作,但我不确定它是否配置良好,特别是因为我需要强制执行Accep

我想使用nginx作为反向代理,我真的想优化nginx和后端之间的通信。我们传输的有效负载在未压缩时约为1Mb的文本,反向代理和服务器位于不同的数据中心

我的理解和我所做的测试表明,反向代理和后端之间的压缩取决于客户端请求

但这不是最优的,因为如果客户端在读取反向代理响应时没有配置为使用gzip,那么就没有理由不在nginx和后端服务器之间使用gzip

我想强制反向代理和后端之间的通信使用gzip,即使客户端没有请求它

我设法使它工作,但我不确定它是否配置良好,特别是因为我需要强制执行
Accept
标题

我的想法是在代理请求时强制
接受Encoding:gzip
,如果客户端没有请求gzip,则使用gunzip

upstream backend {
    server fqdn:443;
    keepalive 32;
}

server {
  listen   8080;

  gzip on;
  gunzip on;
  gzip_proxied any;
  gzip_vary on;
  gzip_types 
        text/css
        text/javascript
        text/xml
        text/plain
        application/javascript
        application/x-javascript
        application/json;

  proxy_buffering "off";
  proxy_http_version 1.1;

  location / {
    proxy_set_header "Accept-Encoding" "gzip";
    proxy_pass   https://backend;
  }
}
我必须强制这个标题是正常的吗

为什么
gzip\u代理任何
是不够的

提前谢谢