由于开发Web项目,经常需要将本地部署的网站让外网能直接访问到,最便捷的做法当然是在ADSL路由器上直接做端口映射,很不幸大部分运营商都屏蔽了80等常用端口,曾经的做法是在公网一台VPS上架设OpenVPN,将笔记本和VPS连到一个虚拟局域网,再用iptables做端口转发来达到目的,虽然可行,但速度比较慢,由于线路不稳定造成掉线几率较高。偶然发现还有个叫ngrok的神器专门做了这件事,不但提供了一个在外网能够安全的访问内网Web主机,还能捕获所有请求的http内容,方便调试,甚至还支持tcp层端口映射,不局限于某一特定的服务。支持Mac OS X,Linux,Windows平台。
上官网:https://ngrok.com/下载,并注册。
备注:请在关闭防火墙和代理服务器的情况下运行。(自己家里的网络一般不会遇到这种问题,公司局域网内可能会有)
1.在运行界面输入
这里的AUTHTOKEN是你在光网注册登录后分发的一个授权码。
2.接下去输入
输完回车界面跳转到
如果成功界面如下
这时候你就可以把你的web项目发布到8080端口的tomcat服务器上
结束,现在你的项目已经发布到公网上了,你现在可以用Forwarding后面的地址代替http://localhost:8080/来访问你的项目。
祝大家调试成功!