Nginx

使用nginx創建企業繖形站點

  • August 17, 2020

我的客戶需要將他所有的企業合併到一個保護傘中,而不是將它們從原來的位置移動。例如,他已經有一個作為 realestate.com 和 movers.com 執行的站點,現在他想將它們合併到corporate.com 下,這樣corporate.com/real 連結將映射到real.corporate.com 並顯示託管在的網站房地產網。這不是重定向,因此 URL 欄將顯示 real.corporate.com 的 realestate.com,所有連結也將是相對的,例如 realestate.com/index.html 將顯示為 real.corporate.com/index.html。realestate.com/portfolio/houses/pictures 將變為 real.corporate.com/portfolio/houses/pictures。我曾嘗試使用 proxy_pass 但這會更改 URL。我目前正在使用一個站點對其進行測試,以下是我的伺服器塊

server{
listen 80;

location / {
proxy_pass http://www.realestate.com/;
sub_filter_once off;
proxy_redirect off;
proxy_set_header Host $host;
}
}

此設置將我直接帶到 realestate.com,並且 URL 也在瀏覽器中更改。將位置更改location /real為 404 錯誤。

請幫忙

您的配置不執行任何重定向。重定向是由上游網路伺服器發送的realestate.com

應用程序將重定向發送到realestate.com,因為請求未發送到應用程序中配置的域。

您可以使用更改此設置

proxy_set_header Host www.realestate.com;

此設置發送帶有Host: www.realestate.com標頭的上游代理請求,這將使其最終到達上游伺服器中的適當虛擬伺服器。

但是,您仍然可能對由www.realestate.com.

此外,如果www.realestate.com發送任何 HTTP 重定向,您需要將重定向內容替換為proxy_redirect default;指令。

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