Nginx反向代理使用Gzip

问题

使用多个nginx对服务器进行代理时,发现反向代理nginx传输文件时丢失了gzip配置

修复方式1

1、反向代理nginx

http {
	gzip on;
	gzip_http_version 1.1;
}

server {
	location / {
		proxy_http_version 1.1;
		proxy_set_header Connection "";
    }
}

2、真实服务器nginx

http {
	gzip on;
	gzip_http_version 1.1;
}

修复方式2

1、反向代理nginx

http {
	gzip on;
	gzip_http_version 1.1;
}

2、真实服务器nginx

http {
	gzip on;
	gzip_http_version 1.0;
}

原理

  • nginx 反向代理服务器到真实应用服务器的请求,使用的http协议版本为1.0。早期浏览器不支持 gzip压缩,因为早期都是http 1.0协议,所以gzip 默认在 http 1.0 协议下是不生效的
    在这里插入图片描述

  • gzip_http_version 参数是用来识别并控制gzip 在什么版本的 http 协议中生效的,这里设置为1.0 表示 http 1.0 协议下,gzip 仍旧打开
    在这里插入图片描述


版权声明:本文为think_A_lot原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。