nginxで、複数のWebサイト(単一IP)へのリバースプロキシを行いたいです。
プロキシ先のサーバーが、単一IPで複数Webサイトの構成です。
・構成
client
↓
↓リクエスト:「testproxy.com」
↓
testproxy.com(nginx)
↓
↓リクエスト:「Hostヘッダ:testX.com https://XXXXXX(IP)」
↓
test1.com test2.com test3.com
※test1.com、test2.com、test3.comは全て同じサーバー上で動作しています。(同じIP)
※バックエンド(test1.com、test2.com、test3.com)はAzureWebAppsで構成しています。
https://blogs.msdn.microsoft.com/jpcie/?p=325
・現在のnginxの設定
server { listen 443 ssl; server_name testproxy.com; location /a { proxy_set_header Host test1.com; proxy_pass https://XXXXXXXXXX(IP) proxy_redirect default; } location /b { proxy_set_header Host test2.com; proxy_pass https://XXXXXXXXXX proxy_redirect default; } }
・バージョン
nginx/1.11.5
・やりたいこと
ホストヘッダーを使用して、リクエストのルーティングをしたい。
proxy_set_headerでHostヘッダを使用して振り分けができることは確認できた。
バックエンドのアプリケーションサーバーで渡されたURIからリダイレクト先のURLを作成するが、
リクエストURLが「test1.com」や「test2.com」であるため、リダイレクトURLの作成時に
リダイレクト先としたい「testproxy.com」を取得することができない。
・単一IPで動作する複数Webサイトへのリバースプロキシをnginxで行う際の
設定方法、リダイレクトの設定について、ご教示ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/23 01:03