最淺顯易懂的使用nginx實現埠對映的教程

i042416發表於2020-01-08

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

換句話說,我們希望若干個web應用,暴露給使用者的是同一個埠號。最理想的情況就是HTTP協議用預設的80埠,而HTTPS為預設的443埠。

利用NGINX可以實現這個埠對映需求。

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

最淺顯易懂的使用nginx實現埠對映的教程

現在我希望將這個3001埠隱藏起來。

只需要在nginx伺服器的conf目錄下,編輯nginx.conf這個檔案,新增下面這個配置:

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

最淺顯易懂的使用nginx實現埠對映的教程

而我的nginx預設監聽的埠是8099:

最淺顯易懂的使用nginx實現埠對映的教程

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

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

最淺顯易懂的使用nginx實現埠對映的教程


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2672482/,如需轉載,請註明出處,否則將追究法律責任。

相關文章