
私は次の構成を持っています:
nginxを実行する5つのLXCコンテナがあります。各コンテナには、nginxに設定された複数の仮想ホストがあります。これは、1つのコンテナに対してポート80を介してアクセスできる複数の仮想ホストがあることを意味します。
各コンテナには、10.0.3.100、10.0.3.101などのIPがあります。
ホストシステムは、仮想ホストが定義されているnginxサーバーも実行します。
次の目標を達成する方法を知りたいです。これは、ホストマシンのnginx仮想ホストをコンテナの各仮想ホストにマッピングすることです。
例: ホスト: d1.example.com -> コンテナ 1: d1.example.com ホスト: d2.example.com -> コンテナ 1: d2.example.com ホスト: d3.example.com -> コンテナ 2: d3 。はい。 com
これらはすべてポート80で利用可能でなければなりません。
この設定を達成する方法はありますか?
答え1
これはリバースプロキシであり、探しているディレクティブはですproxy_pass
。ホストインスタンスには、次のような複数のコンテナがnginx
あります。server
server {
listen 80;
server_name d1.example.com;
location / {
proxy_pass http://10.0.3.100;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Accept-Encoding "";
}
}
よりエージェントモジュール文書そしてWebソケット文書(適用される場合)。