Apacheサーバーのロードバランサーとして機能するnginxサーバーがあります。私はサブドメインを使用しており、コードはHTTP_Host値に依存して正しいタスクを実行しています。
http://get.example.com
と言うリクエストをすると、転送されると、ApacheのHTTP_Hostはexample.com
になります。
私の質問は、元のリクエストと同じままにするにはどうすればよいですか?
これが私のnginx設定です:
upstream example.com {
server 192.168.2.1:8909 weight=2;
server 192.168.2.2:8909 weight=1;
server 192.168.2.3:8909 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://example.com;
}
}
サブドメインごとに1つずつ、複数のproxy_pass
を追加しようとしましたが、機能しないようです。
HTTP Host
ヘッダーを渡す必要があります。これを関連するlocation
に追加します。
proxy_set_header Host $Host;