Domain-Name-System

Nginx 重定向到請求文件中寫入的 url

  • November 6, 2014

我需要設置動態重定向。例如,使用者打開一個連結:http ://www.example.com/2/3/4/並查看以下地址的頁面:http ://www.example2.pl/something 。

我知道 RewriteMap,但我需要一些不需要重啟 nginx 的東西,它快速、簡單且易於與 sftp 一起使用(伺服器中沒有數據庫)。

我的想法是在內部推送帶有 URL 的文件並配置 nginx 以使用此文件內容 - 這對我來說很好,因為我可以通過 sftp 輕鬆完成。

我怎樣才能在 nginx 中實現這一點?

我的第二個想法是將此文件返回給使用者並使用 javascript 重定向。我更喜歡第一個解決方案,所以請告訴我如何讀取請求的文件內容並重定向到裡面的 URL。

也許還有其他一些解決方案,比如 DNS,請告訴我什麼是最好的。

您可以做的是將包括location指令在內的配置文件上傳到特定目錄。該目錄將包含在您的配置中(即通過include yourDir/*.conf) 。server

不過,您需要向 nginx master 發出信號以重新載入配置。@MichaelHampton 關於您不需要重新啟動伺服器這一事實是正確的。可以通過發出service nginx reload命令或kill -SIGHUP <nginx master process ID>.

nginx 中沒有“持久目錄監視 + 文件系統更改時重新載入”功能。您將需要編寫腳本(即使用 Lua),但無論如何不建議這樣做。你可以創建一個 cron 任務來定期重新載入 nginx 配置……如果你問我,看起來也很髒。

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