问题:
Java Web服务使用了Nginx指向,遇到一个Action需要长时间等待的时候,一到1min,Ngx报504,主动断开连接。
分析:
Ngx绝大部分配置用了默认,怀疑timeout过短。
因为是虚机指向,而且后台是java,与常见的php的设置不同(非fastcgi的超时)。
解决:
编辑/etc/nginx/conf.d/virtual.conf
server {
listen 80;
server_name XXX.com.virtual;
location /
{
send_timeout 180;
proxy_read_timeout 120;
proxy_connect_timeout 120;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://XXX.com.virtual:8080/;
}
}