Nginx - Proxy子目录到远程服务器

时间:2016-09-01 10:03:19

标签: nginx

我有两台服务器(server1server2)正在侦听相同的域名。我们说www.example.com

server1充当主要角色,指向域本身。

我要做的是将所有请求代理到server1server2的特定子目录

这是server1上的当前配置,其中xx.xxx.x.xxxserver2的IP:

server
{
    listen       80;
    server_name  www.example.com;

    # proxy to port 81 on server1
    location /
    {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_buffering off;
        proxy_pass  http://127.0.0.1:81;
    }

    # proxy to server2
    location /subdirectory
    {
        proxy_pass http://xx.xxx.x.xxx:80;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host www.example.com;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

现在我得到了504 Gateway Time-out

1 个答案:

答案 0 :(得分:0)

这种设置不是最佳方式,延迟是过度的。 无论如何,您需要设置正确的超时(默认为60秒)

proxy_connect_timeout 90s;
proxy_read_timeout 90s;
proxy_send_timeout 90s;

价: http://nginx.org/en/docs/http/ngx_http_proxy_module.html