使用ngrok将本地Web服务映射到外网

缘由

web开发中,难免会遇到在某些情况下,我们必须借助外网才能调用某个API,然而,如果我们按照下面的方式来做,显得就很繁琐:

  • 在一个具有外网可访问的服务器上搭建一个web环境

  • 上传代码,调试接口

  • 发现问题,本地修改

  • 再次上传,周而复始,直至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启动时配置的端口。比如nginx的配置或者tomcat的配置,端口必须是跟映射指定的端口保持一致。也就是,在这里看到Forwarding对应的后面的必须是本地可访问的。Forwarding的映射就是我们的外网可访问的网站地址。

浏览器中输入:http://6364126c.ngrok.io/${controller}/${action}?${params}

我的URL便是如此:http://6364126c.ngrok.io/base...


你可能感兴趣的:(ngrok)