大家平时在工作中,可能会遇到这样的问题:本机处在一个内网环境中、没有外网IP,但如果希望运行在本机的服务,让外网也能够访问,怎么做到呢?
接下来就介绍几种方法,可以解决这样的问题,思路都是一致的,依靠一个拥有公网IP的机器中转,把内网映射出去。
简单法:直接运行 ngrok/localtunnel
ngrok 和 localtunnel 都是开箱即用的工具,其原理是服务提供商提供了域名,为你的服务做转发。你不需要自己准备中转的机器,只要下载这俩工具到本机,对于临时的访问需求可以直接使用。
但是这两个工具又各有缺点,ngrok 首先是被墙了,其次如果你不是付费用户,每次启动 URL 都会发生变化;而 localtunnel 经常异常崩溃,可能需要额外的重启脚本。
也就是说,如果你的情况比较特殊,比如需要和外部服务对接,映射出去的你本机的服务需要越稳定越好,这两种方式都不会是首选。