玩nginx部署不同的web app


需求:一台服務器上部署多個應用 ,比如www.host.com/app 映射到 www.host.com:8081

實現方法:
1. nginx 使用把路徑訪問映射到端口上。但是遇到一個問題是web app里面的html跳轉連接錯亂。
一開始認為是nginx設置錯誤,location 后面加斜杠\ , 還有是proxy_pass后面的地址加斜杠\.這兩者有不同的效果,一種沒有加斜杠會在請求保留所映射的路徑,加了斜杠,那么在請求的時候會去除這些映射的路徑。

2. 查看網站,使用rewrite 功能,把路徑加上,可是發現不起作用。

3.但是發現web app 表現不正常的現象,一種是樣式沒有加載出來,二種是跳轉老是跳到了主頁。通過分析<a href=/content/test.html></a>標簽發現,標簽里面的寫的相對路徑/是直接指向了域名的根目錄www.host.com 。沒有帶上所要映射的路徑/app

4. 為了解決這個問題,使用了nginx sub filter功能,自動替換/ 為 www.host.com/app/。

5. 但是還是存在一個問題,就是web app里面的邏輯跳轉,nginx沒有辦法修改,還是有一些請教接口。

6. 最終,只能使用二級域名,就完美解決這個問題了。每一個二級域名對應一個web app


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM