利用Nginx反向代理隐藏网址中的端口的方法
我的日常工作中,有时候需要利用公司内网的机器做测试,安装一些企业应用系统,比如ERP、CMS、Crm等,同时,有些实际使用的应用只能安装到内网。为了方便外网访问,所以设置了路由端口转发,申请了公网和域名,利用DDNS-GO把域名解析到公网IP上。
有一个问题是,域名访问需要添加非80的端口号(80端口默认被电信屏蔽),不优雅,心里一直有点不爽。
最近申请了域名备案,解决这件事就提上了日程。
希望达到的最终结果:浏览器中输入目标url,即可访问原始url,且浏览器不显示原始url,从而达到隐藏端口号的目的。
目标url:t.targeturl.com
原始url:originalurl.com:88
通过搜索,尝试了2种解决方案:
1、域名显性url或者隐性url转发;
2、通过nginx进行反向代理;
显性url转发,顾名思义,就是浏览器地址栏直接跳转到原始url。经过测试,虽然通过目标url访问到了原始url,但还是暴露了端口。而隐性url转发则完美的隐藏了原始url,但带来了另外一个问题。隐性url转发同时隐藏了uri,导致某些应用出错,无法使用。
反向代理则完美解决了这个问题。不过有个前提条件,就是需要有独立的云主机。我在我的云主机上安装了宝塔面板,部署了LNMP环境,很容易就可以设置好反向代理。
参考链接:
https://juejin.cn/post/6844903808812728334
https://www.shopee6.com/web/web-tutorial/bt-reverse-proxy-acceleration-exemption-from-filing.html
最终的结果还是很完美的。
评论已关闭