最浅显易懂的使用nginx实现端口映射的教程

  • 时间:2020-01-05 00:18:52
  • 浏览:12847
  • 来源:家门口
最浅显易懂的使用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暴露的同一端口访问。

更新时间:2020-01-05 00:18:52