nginx 反向代理,其中一个页面可能返回的数据非常的大,导致这个页面只要打开就会 502,然后整个网站 502,过一会其它页面就可以正常访问了。但只要打开这个页面就会 502,
如果你不使用 nginx proxy_pass 直接打开 ip htto://x.x.x.x:8088/proxy/http://google.com 这样的页面就会没事。
请问谁遇到相同问题的,网上已经打过很多解决方案都不行。
#proxy_buffer_size 128k;
#proxy_buffers 4 256k;
#proxy_busy_buffers_size 256k;
#fastcgi_buffers 16 256k;
#fastcgi_buffer_size 256k;
#fastcgi_busy_buffers_size 256k;
proxy_buffers 8 512k;
proxy_buffer_size 2024k;
proxy_busy_buffers_size 2024k;
proxy_read_timeout 3000;
proxy_set_header Host $host;
上面这些参数都尝试过,无用。
1
sbmzhcn OP [error] 589#0: *8 recv() failed (104: Connection reset by peer) while reading response header from upstream,
|
2
blless 2017-12-27 11:06:23 +08:00 via Android
我们后来用 haproxy 还有长连接好像就不会了 具体哪个才是关键没有再测试,我估计长连接可能性大一点
|
3
roricon 2017-12-27 11:10:00 +08:00
感觉还需要提供一下那个页面返回的数据大概有多大., 你的服务器什么配置等信息.
|
4
sbmzhcn OP 此问题让我太困惑了。 测试了好久。 应该是因为我写的 tornado 服务器的问题。https://github.com/rfyiamcool/toproxy/blob/master/toproxy/proxy.py 利用它写了一个代理服务器,我翻墙的话一点问题没有,如果不翻墙立即返回一个 ERR_CONNECTION_RESET 连接已重置,然后事个网站暂时都这样了,等一会才恢复。
一个可能是长连接问题, 一个可能是超时的问题,为什么我翻墙就没任何问题 |
5
darrh00 2017-12-27 12:28:27 +08:00 1
我以为这个问题是 livid 提的, 因为 V2EX 老是 502
|
6
jeremaihloo 2017-12-27 14:26:49 +08:00
@darrh00 #5 livid 小号:)滑稽
|
7
anjing01 2017-12-27 14:58:41 +08:00
内网解析看看...特别是内网自己有 dns 的
|
8
pennz 2017-12-27 23:56:37 +08:00
所以。最后解决没有咯?我之前也遇到过。发现是数据过大时,反向代理会把数据先存到缓存目录下,但是该缓存没权限,导致缓存数据无法写入。赋予写权限后问题就解决了。~~
|
9
sbmzhcn OP 没有解决,依我目前的技术水平是解决不了,目前事情比较多,这个太花时间了,暂时不解决了。
|