原创

ngrok内网映射

缘由

​ web开发中,难免会遇到在某些情况下,我们必须借助外网才能调用某个API,然而,对于没有租赁云服务器的同学来说,白嫖习惯了,总得找个免费的方式来解决这个问题,在没有使用ngrok前,我们的操作方式:

  • 在一个具有外网可访问的服务器上搭建一个web环境(jdk、tomcat、maven、redis、mysql…可能docker可以解决这个问题-_-||)

  • 上传代码,调试接口(谁尝试过凭着感觉写代码,在服务器上跑完之后看日志线下解决问题,还觉得OK的,我给你点个赞_

  • 发现问题,本地修改(写完可以直接运行的大神请与我联系?,抱个大腿)

  • 再次上传,周而复始,直至bug修复,然后发布到正式测试环境。

    这里所说的也就是可能为了某个小功能而做的事情,比如我们最常用的公众号开发,其要求必须填写一个可访问的url,作为回调(小程序还要求证书也是够了。。。);亦或是我们仅仅想把自己开发的一个产品给别人做个介绍或者是展示一番。

探索

​ 如果某度一下“本地Web服务映射到外网”,然后前几条都是推广信息:xx壳,xxx123等。虽然这两个可以用,但是需要?买服务,最低使用最先的9月份分别是¥6.0、¥8.0,对我们来说,我们可能只想在开发中调试一个bug,或者一个展示罢了,所以,这个钱我也不想花呐。

于是,继续探索,终于知道ngrok可以实现此功能。

安装使用

​ ngrok is easy to install. Download a single binary with zero run-time dependencies for any major platform. Unzip it and then run it from the command line.

  • Step 1: Download ngrok

    Mac OS X 64-Bit

    Windows 64-Bit

    Linux 64-Bit

    Linux ARM

    FreeBSD 64-Bit

    Mac OS X 32-bit

    Windows 32-bit

    Linux 32-bit

    FreeBSD 32-bit

  • Step 2: Unzip it

    ​ On Linux or OSX you can unzip ngrok from a terminal with the following command. On Windows, just double click ngrok.zip.

    $ unzip /path/to/ngrok.zip

  • Step 3: Run it!

    Read the documentation on how to use ngrok. Try it out by running it from the command line:

    $ ./ngrok help

    ​ 上面的步骤就是ngrok官网给的安装步骤,mac os或者linux系统,只需要下载,解压,运行即可开始使用;windows双击压缩包解压并在命令窗口运行里面的可执行文件就OK。

开启服务

​ ngrok开启阶段不检查你的本地服务时刻正常,端口是否可用。比如,我们在这里就已本地locahost为内网,服务端口为8080。

./ngrok http localhost:8080

运行结果如下:

ngrok 启动示意图

​ 我们开器本地服务器,端口指定为刚才ngrok启动时配置的端口。比如nginx的配置或者tomcat的配置,端口必须是跟映射指定的端口保持一致。也就是,在这里看到Forwarding对应的→后面的必须是本地可访问的。Forwarding的映射就是我们的外网可访问的网站地址。

浏览器中输入:http://505ef5fe.ngrok.io/ p r o j e c t n a m e / {projectname}/ projectname/{controller}?${params}

我的URL便是如此:http://505ef5fe.ngrok.io/base…

正文到此结束
本文目录