一次悲催的nginx转发白屏经历
Posted datagd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次悲催的nginx转发白屏经历相关的知识,希望对你有一定的参考价值。
背景
公司还有一个学习平台,由于公网地址问题,所以想用nginx转发一下,首先后端地址访问时没有问题的,一切正常。
用nginx转发后,访问nginx代理地址悲催了,出现了白屏。
排查过程
首先贴出来我的nginx配置:
server { listen 9005; port_in_redirect off; index index.jsp index.html; location / { proxy_pass http://111.111.111.111:9005; proxy_buffers 256 16k; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; client_max_body_size 300m; client_body_buffer_size 128k; proxy_connect_timeout 5; proxy_send_timeout 600; proxy_read_timeout 600; proxy_buffer_size 16k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 64k; proxy_next_upstream http_404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
查看nginx报错日志:
ginx代理后的默认http版本是1.0.、如果原始请求是长连接或者分块传递,需要加上http1.1的参数,
nginx的location模块里面加上proxy_http_version 1.1估计可以了
添加如下,两行代码:
proxy_http_version 1.1; #开启对http1.1支持 proxy_set_header Connection ""; #设置Connection为空串,以禁止传递头部到后端
以上是关于一次悲催的nginx转发白屏经历的主要内容,如果未能解决你的问题,请参考以下文章
从求生之路到喋血复仇 他们创造了打丧尸时代 也是悲催的倒霉蛋
json代码驾照考题批量加入MySQL数据库 ps.executeUpdate()永远只能悲催的加一条数据 去掉id主键自增 for 与 foreach