27

没有公网IP?使用Ngrok将局域网服务映射到公网

 3 years ago
source link: https://segmentfault.com/a/1190000025128345
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

6vAjQv7.png!mobile

这篇文章将为大家介绍ngrok,如何安装,配置以及在什么场景下需要使用ngrok。在没有使用过Ngrok之前,您可能会遇到过这样一些情况

  • 你需要向客户演示你们正在研发的项目,所以你要求开发人员帮助你,在你的资源有限的笔记本电脑上部署一套用于给客户演示的环境。当下一次另一个同事需要去为客户演示的时候,同样的事情又要重做一遍。
  • 您如果作为一个移动应用的后端服务开发者,与移动应用的前端开发者组成一个远程团队。你需要帮助前端开发者,在他的网络内部署一套用于测试的环境。由于前端开发者不具备后端技术栈,所以你们之间关于后端测试环境的沟通成本极高。

所有的这一切问题,只要您有一个固定的公网ip就可以解决了,将后端服务暴露在公网ip上,在互联网的任何位置都可以被访问到。但是我们都知道固定的公网ip价格是很贵的,根据带宽的不同,每年的费用从万元到几十万元不等。如果只是为了演示、测试、及研发环境等网络共享的问题,完全没有必要申请固定的公网ip。

YRJjQnY.png!mobile

那么有没有什么替代的方案呢?当然就是我们这篇文章的主角:Ngrok。

一、什么是Ngrok?

Ngrok是Alan Shreeve开发的应用程序,使开发人员可以将其本地开发服务公开到Internet上。它会创建一条通往本地开发服务器的网络,并生成两个随机的子域名-一个 http 一个是 https 。使用这些生成的域名地址,只要本地服务保持正常运行,您就可以通过Internet从任何地方访问本地开发的应用程序。

二、如何使用 ngrok

使用 ngrok 非常简单。

ngrok

1.设置和安装

要开始使用 ngrok ,我们必须在提供ngrok服务的网站注册一个帐户 ngrok 。注册后到仪表板页面。根据您的操作系统下载正确的软件包。

YVBRNrZ.png!mobile

对于Windows:下载zip并解压缩可执行文件并运行它。要让 ngrok 命令在系统内任何位置访问,可以使用下面方法

  1. 将可执行文件ngrok.exe移至C:\Windows\system32\ngrok.exe
  2. 添加环境变量(在Windows徽标旁边的搜索栏中搜索“为您的帐户编辑环境变量” =>双击“用户变量”下的“您的用户名”的路径=>单击“新建” =>添加路径C:\Windows\system32\ngrok.exe =>单击“确定”。

对于Mac / Linux:-在终端上运行以下命令。

unzip /path/to/ngrok.zip

将ngrok文件移动到/usr/local/bin目录或根据你使用的shell将路径添加到到 .bashrc.zshrc

2.配置并验证 ngrok

下一步是使用您的 ngrok 帐户验证您在系统上安装的ngrok客户端的可用性。

在终端/提示符下运行以下命令:

ngrok authtoken YOUR_AUTH_TOKEN

YOUR_AUTH_TOKEN是显示在仪表板上的令牌。这会将您帐户的auth_token保存到本地计算机中的.yml文件中。

3.启动网络服务

输入以下命令:

./ngrok http 3000

这个 3000 是您的本地服务器运行的端口号,也就是你的本地服务的启动端口,根据你自己的情况使用命令启动。

通过运行此命令,您的终端提示应如下所示。

bIjQ7ra.png!mobile

上图显示了可在其中访问应用程序的随机生成的子域URL,可以在公网上进行访问。此外,您还可以通过浏览器访问 4040 本地端口服务的仪表盘,在这里您可以查看通过生成的子域发出的所有请求。

a26nIjQ.png!mobile

恭喜!!您已成功启动了 ngrok 应用程序,提供公网服务访问。

欢迎关注我的博客,里面有很多精品合集

本文转载注明出处(必须带连接,不能只转文字): 字母哥博客 - zimug.com

觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力!。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK