2016-09-01 8 views
0

同じドメイン名をリッスンする2つのサーバー(とserver2)があります。 www.example.comとしましょうNginx - リモートサーバーへのサブディレクトリ

は、ドメイン自体が指し示される主要な役割を果たします。

私は何をしようとしていることserver2

これはserver2のIPであるxx.xxx.x.xxx に私の現在の設定、あるに上の特定のサブディレクトリへのすべての要求のプロキシです:

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

この設定は最善の方法ではありません、レイテンシーは過剰です。 はとにかくあなたは(デフォルトは60年代で)正しくタイムアウトを設定する必要が

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

参考: http://nginx.org/en/docs/http/ngx_http_proxy_module.html

関連する問題