Nginx

確保代理伺服器上的重定向正常工作

  • May 3, 2021

所以我目前正在嘗試了解什麼配置對於 nginx 代理來說是個好主意。我有點堅持以下兩個選項:

  • proxy_set_header Host $host;
  • proxy_redirect default;(無論如何這是預設設置,因此是多餘的)

如果我理解正確,那麼它們似乎都針對相同的目標:確保重定向正常工作。將 header 變數設置Host$host(這是 nginx 伺服器的名稱,而預設值 ( $proxy_host) 是代理伺服器的名稱),確保代理伺服器“將自己視為$host”,從而將 type 的路徑連結/some/sub/path到資源$host/some/sub/path而不是$proxy_host/some/sub/path.

但這似乎也是目的proxy_redirect。所以我不知道該怎麼做。也許我對這些參數的理解並不完全正確。

header的作用Host是讓上游伺服器選擇正確的虛擬主機來服務站點。此外,應用程序使用它來確定訪問者連接到正確的域。

proxy_redirect用於修改上游伺服器發回給訪問者的響應中的Location/Refresh欄位。

因此,這兩個功能相輔相成。Hostheader 用於路由請求,而用於proxy_redirect修改響應。

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