阴雨天的烟 大佬有话说 :
请教大佬NGINX反代经常会出现502的问题
自己测试没问题,上线并发一高就经常502,日志报错 upstream timed out (110: Connection timed out) while reading response header from upstream
症状是点几个连接后会卡住一会报错502,也可能卡个20秒卡过来,卡住的时候直接刷新,再点连接就又会好
用IIS或者apache反代都没问题,给后端套上CF再用nginx反代CF也没有502的问题,各种搜搜搜,一顿乱调都没解决,后来把静态文件CSS JS 图片这些,都用另外的二级域名单独出来,情况改善,但是还是想知道问题出在哪了,求大佬诊断诊断
proxy_buffering on;
proxy_buffers 8 2M;
proxy_buffer_size 4k;
proxy_busy_buffers_size 10M;
proxy_send_timeout 5400;
proxy_read_timeut 5400;
这些加了都不起作用
location /
{
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://******;
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;
add_header X-Cache $upstream_cache_status;
proxy_ignore_headers Set-Cookie Cache-Control expires;
add_header Cache-Control no-cache;
expires 12h;
}
whl32 大佬有话说 :
多看看nginx的logs
darius 大佬有话说 :
会不会是你源站处理不了了。并发足够高那就负载均衡整一下
阴雨天的烟 大佬有话说 :
darius 大佬有话说 : 2021-9-6 09:35
会不会是你源站处理不了了。并发足够高那就负载均衡整一下
应该不是源站问题,负载不高,源站的日志里并没有错误信息,IIS反代也不会出现这问题,在反代机卡502的时候,直接访问源站地址测试也是没有问题
心怀恶意 大佬有话说 :
配置有問題
Rayzggz 大佬有话说 :
不要直接 proxy_pass源站
把源站设置成upstream 在upstream就可以设置重试次数,设置个三次5次的重试次数
最后用proxy_pass指向那个upstream
llyang 大佬有话说 :
试试看
resolver_timeout 30s;
OR
proxy_read_timeout 3600;