简介
由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口。非80端口的映射在访问的时候要域名加上端口,比较麻烦。所以我们可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用nginx反向代理将不同域名的请求转发给内网不同机器的端口,就起到了“根据域名自动转发到相应服务器的特定端口”的效果,而路由器的端口映射做到的只是“根据不同端口自动转发到相应服务器的特定端口”,真是喜大普奔啊。
Nginx配置
vim /usr/local/nginx/conf/reverse-proxy.conf
1 | server { |
在nginx.conf的http节点中include配置文件reverse-proxy.conf
1 | http { |
测试生效
热部署nginx配置
1 | [root@localhost ~]# /usr/local/nginx/sbin/nginx -t; /usr/local/nginx/sbin/nginx -s reload; |
在客户机的hosts中配置tomcat1.vip.com和tomcat2.vip.com (如果是已申请好的域名,则可跳过此步骤)
1 | 10.28.10.218 tomcat1.vip.com |
从以上访问结果来看,浏览器的请求会分别引导到了tomcat1和tomcat2上。
观点仅代表自己,期待你的留言。