最淺顯易懂的使用nginx實現端口映射的教程


考慮這樣一個場景,我們部署了若干web應用在一台雲服務器上,這些web應用監聽在不同的端口號上。為了方便用戶訪問,我們希望這些web應用最終暴露給外界訪問的網址是諸如"域名/webapp1", "域名/webapp2", "域名/webapp3"這種,而不是"域名:8001/webapp1", "域名:8002/webapp2", "域名:8003/webapp3"這種。

換句話說,我們希望若干個web應用,暴露給用戶的是同一個端口號。最理想的情況就是HTTP協議用默認的80端口,而HTTPS為默認的443端口。

利用NGINX可以實現這個端口映射需求。

假設我有一個web應用,監聽在端口3001上:

現在我希望將這個3001端口隱藏起來。
只需要在nginx服務器的conf目錄下,編輯nginx.conf這個文件,添加下面這個配置:

        location /env/ {
            proxy_pass http://localhost:3001/env;
        }

而我的nginx默認監聽的端口是8099:

這樣我繼續使用nginx的8099端口,也能通過上述配置,訪問到原本監聽在3001端口的應用了。

重復這個配置,就能實現監聽在不同端口的眾多web應用,能通過nginx暴露的同一端口訪問。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":


免責聲明!

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



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