2011-03-25 8 views
29

へのすべてのトラフィック、IPのXX.XX.XX.XXとnginxのプロキシドイツに位置し、私は2つのサーバーを持っているリモートnginxの

  1. 、...(フロントエンドランニング:nginxの(静的コンテンツ)を、バックエンド: Apache2の)イタリアに位置したIP yy.yy.yy.yy、と

  2. ...現時点ではすべての要求は、IP XX.XX.XX.XXでサーバーに送信され

nginxのを使用してyy.yy.yy.yyするXX.XX.XX.XXからLLトラフィック...

  request       proxy, request 
Internet  ->  xx.xx.xx.xx(nginx)   ->    yy.yy.yy.yy(nginx, Apache) 
      <-         <- 
      response       proxy, response 

おかげで...他の人のために

+0

あなたをしましたドキュメントをお試しください。 proxy_pass _http://yy.yy.yy.yy – CyberDem0n

+0

確かに!リモート側のX-Real-IPを読む方法(ip:yy.yy.yy.yy)? – user676674

+0

ありがとう、すべて完了! – user676674

答えて

80

server { 
    listen 80; 
    server_name mydomain.com; 
    location/{ 
     access_log off; 
     proxy_pass http://mydomain.com:8080; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 
+0

'location /'はすべてのパスに一致しますか?またはルートパス '\'のみを使用しますか? – pomo

+1

@pomoここのガイドラインhttp://nginx.org/ja/docs/http/ngx_http_core_module.html#location site.com/index.htmlなどのネストされたすべてのクエリに一致しますが、ルートクエリaka site.com/では一致しません –

1

あなたが好きupsteream使用することができます:あなたはのような要求を設定するためにCookieまたはヘッダーを使用することができます

upstream xx.xx.xx.xx:8080{ 
    #ip_hash; 
    server xx.xx.xx.xx:8080 max_fails=2 fail_timeout=2s; 
    server yy.yy.yy.yy:8181 max_fails=2 fail_timeout=2s; 
} 

:対象のための回答は次のようnginxの設定である

location /app { 
     if ($cookie_proxy_override = "proxy-target-A") { 
      rewrite . http://xx.xx.xx.xx:8080/app; 
      proxy_set_header X-Real-IP  $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      break; 
     } 
     if ($cookie_proxy_override = "proxy-target-B") { 
      rewrite . http://yy.yy.yy.yy:8181/webreg; 
      proxy_set_header X-Real-IP  $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      break; 
     } 
     proxy_pass http://xx.xx.xx.xx:8080/webreg; 
     proxy_set_header X-Real-IP  $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
関連する問題