ホスト名を使用していくつかのdockerコンテナーを実行します。
web1.local web2.local web3.local
これらへのルーティングは、nginxによるホスト名に基づいて行われます。このセットアップの前に(インターネットに接続されている別のマシン上に)プロキシがあり、アップストリームを次のように定義しています。
upstream main {
server web1.local:80;
server web2.local:80;
server web3.local:80;
}
実際の仮想ホストの説明:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://main;
}
}
現在、コンテナは「web1.local」ではなく「main」というホスト名を受け取るため、リクエストに適切に応答しません。
質問:要求をプロキシするときに、Host:ヘッダーでサーバーの上流グループの名前の代わりに上流サーバーの名前を渡すようにnginxに指示するにはどうすればよいですか?