Nginx

用於多個 LXC 容器的 Nginx 虛擬主機

  • November 29, 2015

我有以下配置:

我有 5 個執行 nginx 的 LXC 容器。在每個容器上,在 nginx 中設置了幾個虛擬主機。這意味著對於一個容器,我有多個可通過埠 80 使用的虛擬主機。

每個容器都有一個 IP,例如 10.0.3.100、10.0.3.101 等。

在主機上,我還執行了一個定義了虛擬主機的 nginx 伺服器。

我想知道如何實現以下目標: 主機上的 nginx 虛擬主機映射到容器上的每個虛擬主機上。

例如:主機:d1.example.com -> CONTAINER1:d1.example.com 主機:d2.example.com -> CONTAINER1:d2.example.com 主機:d3.example.com -> CONTAINER2:d3.example。 com

所有這些都應該在埠 80 上可用。

有沒有辦法實現這個設置?

這是一個反向代理,您要查找的指令是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   "";
 }
}

請參閱代理模組文件WebSocket 文件(如果適用)。

引用自:https://unix.stackexchange.com/questions/246131