不买服务器也可以将本地服务放到互联网
- 前言
- ngrok基础:穿越网络边界的魔法
- 使用场景:突破网络限制的利器
- 实战
前言
在网络的世界里,有时候你的服务像是困在一座数字城堡中,而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 提供的公共域名访问你的本地服务。例如,如果 Ngrok 提供的域名是
https://your-subdomain.ngrok.io
,则可以通过浏览器访问该地址来访问本地服务。
- 使用 Ngrok 提供的公共域名访问你的本地服务。例如,如果 Ngrok 提供的域名是
通过这些步骤,你应该能够使用 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命令
ngrok http 8081
-
复制上面的Forwarding右侧网址进行访问