步骤1:安装必要工具
-
下载并安装Go语言:
- 进入Go官方网站,下载适合你的操作系统的Go安装包。
- 安装完成后,确保Go已添加到系统环境变量中。
-
下载Ngrok:
- 前往Ngrok官网,选择适合你操作系统的版本下载。
- 下载完成后,解压Ngrok二进制文件,进入
ngrok目录。
步骤2:获取Ngrok认证令牌
-
注册Ngrok账号:
- 访问Ngrok登录页面,注册一个免费账号。
-
获取API令牌:
- 登录后,点击用户头像,选择“My Account”。
- 在“Your Authtoken”栏位,点击“Show/Hide”按钮,复制并保存API令牌。
步骤3:配置Ngrok进行内网穿透
-
在终端中运行Ngrok:
- 打开终端,进入Ngrok的
ngrok目录。 - 输入以下命令,指定要暴露的本地端口和Ngrok的子域名:
./ngrok authtoken <your_api_token> your-subdomain.ngrok.io
- 替换
your_api_token为你刚刚获取的认证令牌,your-subdomain.ngrok.io为你指定的子域名。
- 打开终端,进入Ngrok的
-
选择配置选项(可选):
- 如果需要指定特定区域,可以添加
--region参数:./ngrok authtoken <your_api_token> --region asia your-subdomain.ngrok.io
- 如果需要自定义子域名,可以使用
--subdomain:./ngrok authtoken <your_api_token> --subdomain custom-subdomain your-subdomain.ngrok.io
- 如果需要指定特定区域,可以添加
步骤4:配置网络设备
-
设置端口转发:
- 访问你的路由器或网络设备的管理界面。
- 配置一个端口转发规则,将外部访问的特定端口(如80)转发到内部网络中的目标服务器IP和目标端口(如808)。
-
配置域名解析:
- 在域名注册商处,将你的子域名
your-subdomain.ngrok.io指向你的公网IP地址。 - 如果使用自己的域名,可以配置DNS记录,将子域名指向Ngrok提供的IP地址。
- 在域名注册商处,将你的子域名
步骤5:运行本地服务器
- 在本地启动服务器:
- 如果你想暴露本地服务器的内容,确保服务器正在运行。
- 使用Python运行一个简单的HTTP服务器:
python3 -m http.server 808
- 访问
http://localhost:808确认服务器正常运行。
步骤6:测试内网穿透
-
访问Ngrok子域名:
- 打开浏览器,访问
http://your-subdomain.ngrok.io,如果显示空白页面,说明Ngrok已成功配置。
- 打开浏览器,访问
-
访问本地服务器:
- 在浏览器中输入
http://your-subdomain.ngrok.io:808,应该能够看到你本地服务器的内容。
- 在浏览器中输入
步骤7:验证配置
-
检查Ngrok状态:
- 在终端中查看Ngrok的状态:
./ngrok status
- 输出会显示当前会话的状态和公网地址。
- 在终端中查看Ngrok的状态:
-
检查网络连接:
确保内部服务器能够通过网络与外部Ngrok服务通信,没有防火墙或路由器阻止相关端口。
常见问题及解决方法
- 认证失败:检查API令牌是否正确,确保没有复制错误。
- 端口未响应:确认本地服务器正在运行,并且Ngrok正确地将流量转发到该端口。
- 域名解析问题:确保域名解析正确,可能需要等待Ngrok服务更新DNS记录。
高级配置(可选)
- 使用自定义域名:如果有域名,可以使用
--subdomain选项自定义域名,提升专业性。 - 指定区域:使用
--region选项选择数据中心区域,可能提升性能。
通过以上步骤,你应该能够成功配置Ngrok实现内网穿透,方便外部访问内部资源,遇到问题时,仔细检查每一步的配置,确保所有设置正确无误。




