Apache-2.2

如何讓 Nginx 轉發原始主機名

  • May 9, 2013

我有一個 nginx 伺服器充當我的 apache 伺服器的負載平衡器。我正在使用子域,我的程式碼依賴 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;
 }
}

我嘗試proxy_pass為每個子域添加多個 , 一個,但它似乎不起作用。

您需要傳遞 HTTPHost標頭。將此添加到相關location

proxy_set_header Host $host;

引用自:https://serverfault.com/questions/506481