我有两台服务器(server1
和server2
)正在侦听相同的域名。我们说www.example.com
。
server1
充当主要角色,指向域本身。
我要做的是将所有请求代理到server1
到server2
的特定子目录
这是server1
上的当前配置,其中xx.xxx.x.xxx
是server2
的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
答案 0 :(得分:0)
这种设置不是最佳方式,延迟是过度的。 无论如何,您需要设置正确的超时(默认为60秒)
proxy_connect_timeout 90s;
proxy_read_timeout 90s;
proxy_send_timeout 90s;