nginx反向代理,请求很慢甚至会出现504错误的问题。

xu.wang

发布于 2018.04.02 15:23 阅读 4953 评论 0

使用场景:

在一台服务器上反向代理了5个域名。

用测试域名代替 1.com ; 2.com;  3.com;  4.com; 5.com.

其中

1.com ;2.com 转发到8080 端口的tomcat上,

3.com ;4.com 转发到本地的静态页面上,

5.com 为新增的一个转发到8081端口的tomcat上。

 

问题:

1,2,3,4.com 访问没有问题,但是访问5.com的时候速度响应很慢,甚至会出现504错误。

 

解决办法:

 

在 location中新增下列属性

proxy_connect_timeout 1; #后端服务器连接的超时时间_发起握手等候响应超时时间
proxy_send_timeout 30;  #  连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_read_timeout 60; #   后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

举例:

server {
    listen 80;
    server_name 5.com;
    location / {
        proxy_connect_timeout 1; 
        proxy_send_timeout 30; 
        proxy_read_timeout 60;
        proxy_pass          http://localhost:8081;
    }
}