Nginx反向代理网页开头出现随机字符的解决方法
问题背景:
今天在测试一个网站的时候,发现在网页首部会有随机的4位字符出现,通过反向代理访问一般页面是没有问题的,而且此类问题只出现在 nginx 反向代理之后的页面,不会出现在 Apache原始的页面。
通过查阅相关资料了解到:
凡是出问题的页面,其传输方式均为chunked(“Transfer-Encoding: chunked”)。
头部的16进制数(chunk 长度)、尾部的 0(chunk 终结)正是 chunked 传输方式的消息标识。Apache的respone只有一个chunk,而nginx的respone则分为4个chunks,其中第1个chunk的头部、第4个chunk的尾部出现的额外字节正是Apache的respone中原始的chunk 标识。出现额外字符是因为nginx对已经做过chunked的消息重复执行了chunked操作。
解决方法:
在对应站点的vhost文件的server或location段中,添加“chunked_transfer_encoding off;”即可。
相关阅读:
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
相关推荐
scaleqiao 2020-10-22
SZStudy 2020-07-04
ssihc0 2020-06-14
某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题。比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作。
byourb 2020-06-05
阳光岛主 2020-06-01
岁月如歌 2020-04-15
carolAnn 2020-04-14
Strongding 2020-04-08
ysmh00 2020-03-27
APCDE 2020-02-21
Freshairx 2020-02-19
tinydu 2020-02-12
carolAnn 2020-02-01
liwf 2020-01-13
nginxs 2020-01-05
Caleb0 2019-12-27
Strongding 2019-12-24