使用 ngrok 实现内网穿透访问内网web服务

2024-09-03 08:01:13 浏览数 (1)

1. 什么是 ngrok

ngrok 是一个反向代理工具,可以将本地服务器暴露到公共互联网,方便开发者进行测试和分享。

2. 安装 ngrok

  1. 下载 ngrok
    • 访问 ngrok 官方网站。
    • 注册一个账户。
    • 下载适合您操作系统的 ngrok 文件。
  2. 解压和安装
    • 将下载的文件解压到您希望存放的目录。
    • 在命令行中进入该目录。

3. 配置 ngrok 身份验证

通过以下命令将您的身份验证令牌添加到 ngrok:

代码语言:javascript复制
./ngrok authtoken <YOUR_AUTH_TOKEN>

替换 <YOUR_AUTH_TOKEN> 为上面在 ngrok 网站上注册时获得的令牌。

4. 启动 ngrok

  1. 启动本地服务

首先在本地启动一个web服务,这里使用python的http.server。

代码语言:javascript复制
python3 -m http.server 8080
  1. 运行 ngrok

在命令行中输入以下命令来启动 ngrok:

代码语言:javascript复制
./ngrok http 8080

5. 获取公共 URL

  • 启动后,ngrok 会生成一个公共 URL,您可以在命令行中看到类似以下的信息:
代码语言:javascript复制
ngrok (Ctrl C to quit)
Share what you're building with ngrok https://ngrok.com/share-your-ngrok-story
Session Status                online
Account                       kongxx (Plan: Free)
Update                        update available (version 3.15.1, Ctrl-U to update)
Version                       3.14.1
Region                        Japan (jp)
Web Interface                 http://127.0.0.1:4040
Forwarding                    https://755a-116-228-103-218.ngrok-free.app -> http://localhost:8080
Connections                   ttl     opn     rt1     rt5     p50     p90

此时,

  1. 通过 http://127.0.0.1:4040 访问 ngrok 的 Web 界面,可以看到服务状态,暴漏的内网服务,连接请求信息等。
  2. 通过 https://<xxx>.ngrok-free.app 访问内网的服务。
  3. 在命令行中,ngrok 会实时显示访问日志,您可以看到请求的详细信息。

6. 停止 ngrok

  • 要停止 ngrok,可以在命令行中按 Ctrl C 。

7. 小结

ngrok 是一个强大的工具,适合开发者在本地开发时进行测试和分享。通过简单的配置,您可以快速将本地服务暴露到互联网。

0 人点赞