
前言
在网络的世界里,有时候你的服务像是困在一座数字城堡中,而ngrok就是那位神奇的密道导师,帮你打通城堡的大门。想象一下,你正在开发一款酷炫的应用,但却无法让世界见识它的魅力。这时,ngrok就像是一把数字魔杖,让你的应用穿越网络的迷雾,呈现在全世界的面前。本文将引领你进入ngrok的神奇世界,探索它在网络领域的妙用。
ngrok基础:穿越网络边界的魔法
Ngrok的基本原理:
Ngrok 是一个通过反向代理将本地服务暴露到公网的工具。它的基本原理如下:
-
客户端和服务器: Ngrok 包含一个客户端和一个服务器端。客户端运行在本地,用于将本地服务暴露到外部网络。服务器端则托管在云端,充当中间人的角色。
-
反向代理: 当客户端启动时,它会建立一个与服务器的安全连接。然后,Ngrok 服务器会为客户端分配一个唯一的子域名或公共域名,这个域名将用于访问本地服务。
-
隧道: Ngrok 通过创建一个安全隧道将外部请求转发到本地服务。这意味着外部用户可以通过使用 Ngrok 提供的域名访问本地运行的服务,而不必直接连接到本地计算机。
Ngrok的基本使用步骤:
以下是使用 Ngrok 将本地服务暴露到公网的简单步骤:
-
下载并安装 Ngrok:
-
前往 Ngrok 官方网站,注册一个账号并登录。 -
下载并解压 Ngrok 客户端工具。 -
获取 Authtoken:
-
登录 Ngrok 账号后,获取 Authtoken。这个 token 是用于认证客户端与服务器之间的通信。 -
启动本地服务:
-
启动你希望暴露到公网的本地服务。确保服务在本地正常运行。 -
运行 Ngrok 客户端:
-
打开终端或命令行窗口,导航到 Ngrok 客户端所在的目录。 -
运行命令 ngrok authtoken <your-authtoken>
,将<your-authtoken>
替换为你在步骤 2 中获取的 Authtoken。 -
运行命令 ngrok http <local-port>
,将<local-port>
替换为你本地服务运行的端口号。例如,如果本地服务在端口 3000 上运行,命令可能是ngrok http 3000
。 -
获取公共域名:
-
Ngrok 将在终端中显示一个公共域名(通常以 http
或https
开头)。这个域名将用于访问本地服务。 -
访问本地服务:
-
使用 Ngrok 提供的公共域名访问你的本地服务。例如,如果 Ngrok 提供的域名是 https://your-subdomain.ngrok.io
,则可以通过浏览器访问该地址来访问本地服务。
通过这些步骤,你应该能够使用 Ngrok 将本地服务暴露到公网,并通过 Ngrok 提供的域名访问该服务。请注意,Ngrok 的免费版本有一些限制,例如每个隧道的最大连接时间。在生产环境中,你可能需要考虑使用 Ngrok 的付费计划以获得更多功能和更长的连接时间。
使用场景:突破网络限制的利器
Ngrok在开发、测试、演示和远程调试中的实际应用场景:
-
本地开发环境暴露到公网: 在进行本地开发时,有时需要将本地服务分享给远程团队成员或客户,以便他们可以查看、测试或提供反馈。Ngrok可以帮助开发者轻松地将本地开发环境暴露到公网,使团队成员或客户能够通过互联网访问这些服务。
-
测试 Webhook 回调: 在开发 Webhook 功能时,通常需要在本地进行测试。使用 Ngrok,可以将本地服务器上的 Webhook 回调地址映射到一个公共域名,使得外部服务可以正确地访问和测试 Webhook 的回调功能。
-
演示和展示: 在进行产品演示或展示时,有时需要展示本地运行的应用程序或服务。Ngrok使得演示者能够方便地分享本地服务的链接,而观众只需通过浏览器就能访问这些服务,而不需要在其本地安装或配置任何东西。
-
远程调试: 在进行远程调试时,Ngrok可以帮助开发者远程访问本地服务,方便查看日志、调试代码以及实时监控应用程序的运行状况。这对于处理远程问题或与远程团队协作时非常有用。
-
跨越网络限制: 在某些网络环境下,例如公司内部网络、学校网络或受限制的公共网络,直接暴露本地服务可能会受到限制。Ngrok通过穿越防火墙和网络限制,为开发者提供了一个便捷的方式,让他们能够轻松地分享和访问本地服务。
Ngrok的使用步骤:
-
下载和安装 Ngrok: 从 Ngrok 官方网站下载适合你系统的 Ngrok 客户端,并进行安装。
-
注册并获取 Authtoken: 在 Ngrok 官网注册账号,并获取 Authtoken,这是用于认证客户端与 Ngrok 服务器之间通信的令牌。
-
运行 Ngrok 客户端: 在终端或命令行中运行 Ngrok 客户端,并使用 Authtoken 进行身份验证。
-
选择本地服务端口: 指定要映射的本地服务的端口号。例如,运行
ngrok http 3000
表示将本地服务运行在端口 3000 上。 -
获取 Ngrok 提供的公共域名: Ngrok 将显示一个公共域名,通过这个域名可以访问本地服务。例如,
https://your-subdomain.ngrok.io
。 -
分享链接: 将 Ngrok 提供的公共域名分享给需要访问本地服务的人员。
通过这些简单的步骤,开发者可以在开发、测试、演示和远程调试中灵活地使用 Ngrok,轻松跨越网络限制,提供和访问本地服务。
实战
将本机的服务暴露到互联网区域进行访问

原文始发于微信公众号(一只牛博):不买服务器也可以将本地服务放到互联网(ngrok内网穿透)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/299359.html