当我们在本地或测试的内网环境并需要给公网提供接口的时候,就需要通过内网穿透来实现被调用
选cpolar是因为它不需要强制实名认证,如果只是开发的时候集成对接三方api会更方便一些
一、安装与初始化配置
官网地址 www.cpolar.com/
先注册
1.1 安装 Cpolar
登陆进去后下载安装
在套餐里选0元套餐狠狠白嫖
1.2 认证 Token
建通道的验证token,在验证菜单里
cmd 命令行执行
cpolar authtoken 你的认证Token
执行后会返回
二、命令行创建穿透隧道
Cpolar 可通过命令行直接创建通道,也可通过本地local地址的可视化界面来管理
2.1 基础语法
cpolar [协议类型] [目标本地地址:端口] [可选参数]
- 协议类型:支持
http、tcp、ftp等,根据你的本地服务类型选择 - 目标端口:你本地服务监听的端口号,例如本地 Web 服务的 8080 端口
2.2 HTTP 隧道(Web 可视化服务)
基础示例:暴露本地 8080 端口的 Web 服务
cpolar http 8080
执行后,命令行将会输出如下信息:
其中
Forwarding 后的地址就是生成的公网地址,你可以将这个地址分享给其他人,公网用户访问这个地址就能访问到你本地 8080 端口的服务。 可视化界面管理地址 http://localhost:9200
注意:默认情况下,这个命令会在前台运行,关闭终端后隧道会自动停止,如需长期运行请参考「后台运行隧道」章节。
2.3 高级参数配置
Cpolar 提供了丰富的命令行参数,满足你不同的需求:
| 参数 | 作用 | 示例 |
|---|---|---|
-region | 指定隧道服务器地区,降低延迟 | cpolar http -region=cn_vip 8080 |
-subdomain | 自定义二级子域名(需套餐支持) | cpolar http -subdomain=myapp 8080 |
-httpauth | 为隧道添加 HTTP 基础认证,防止公网匿名访问 | cpolar http -httpauth="user:pass123" 8080 |
-host-header | 重写 HTTP Host 头,适配虚拟主机服务(如 MAMP/WAMP 多站点) | cpolar http -host-header=myapp.dev 80 |
-redirect-https | 自动将 HTTP 请求重定向到 HTTPS | cpolar http -redirect-https=true 8080 |
2.6 后台运行隧道(避免关闭终端失效)
默认的前台隧道在关闭终端后就会停止,如果你需要长期运行隧道,可以通过以下方式配置后台服务:
Linux 系统
- 添加 Cpolar 到系统服务
sudo systemctl enable cpolar
2. 启动服务
sudo systemctl start cpolar
3. 编辑配置文件 /usr/local/etc/cpolar/cpolar.yml,预定义你的隧道配置,之后服务会自动启动这些隧道。
Windows 系统
Windows 版本的 Cpolar 安装后会自动注册系统服务,默认后台运行,可以通过服务管理器查看和管理。
也可以使用 nohup 命令临时后台运行:
nohup cpolar http 8080 &
三、常见 localhost 可视化服务穿透案例
| 服务名称 | 默认端口 | Cpolar 命令 | 注意事项 |
|---|---|---|---|
| Jupyter Notebook | 8888 | cpolar http 8888 | 需要提前配置 Jupyter 允许远程访问,否则会出现 403 错误 |
| Grafana 数据可视化 | 3000 | cpolar http 3000 | 无特殊配置,直接运行即可 |
| n8n 工作流平台 | 5678 | cpolar http 5678 | 无特殊配置 |
| Streamlit Python 可视化应用 | 8501 | cpolar http 8501 | 无特殊配置 |
| Jenkins 自动化构建 | 8080 | cpolar http 8080 | 如需长期使用,建议配置固定域名 |
| phpMyAdmin 数据库管理 | 80 | cpolar http 80 | 如果你的 phpMyAdmin 运行在 8080 端口,替换对应端口即可 |
| Netdata 系统监控 | 19999 | cpolar http 19999 | 无特殊配置 |
| Portainer Docker 管理 | 9000 | cpolar http 9000 | 无特殊配置 |
| Windows 远程桌面 (RDP) | 3389 | cpolar tcp 3389 | TCP 隧道,公网连接时使用生成的公网地址 + 端口 |
| VNC 远程桌面 | 5900 | cpolar tcp 5900 | TCP 隧道 |
| SpringBoot/Flask 本地开发服务 | 8080 | cpolar http 8080 | 临时演示项目的最佳选择 |
3.1 Jupyter Notebook 远程访问配置
Jupyter 默认会限制本地访问,直接穿透后会出现 403 Forbidden 错误,你需要提前配置:
- 生成 Jupyter 配置文件
jupyter notebook --generate-config
2. 设置访问密码
jupyter notebook password
3. 编辑配置文件 ~/.jupyter/jupyter_notebook_config.py,添加以下内容:
c.NotebookApp.ip='*' # 允许所有IP访问
c.NotebookApp.allow_remote_access = True
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
之后重新启动 Jupyter,再创建 Cpolar 隧道即可正常访问。
四、Cpolar 自身的可视化管理界面
除了命令行,Cpolar 也提供了可视化的管理界面,方便你管理隧道、查看状态。
4.1 Web UI 管理界面(localhost:9200)
Cpolar 安装后会默认启动一个本地的 Web 管理界面,你可以通过浏览器访问 http://localhost:9200,使用你的 Cpolar 账号登录。
这里可以
- 可视化创建、编辑、删除隧道
- 查看所有在线隧道的公网地址
4.2 隧道状态监控页面(localhost:4040)
当你运行 Cpolar 隧道后,你可以访问 http://localhost:4040,这个页面会展示当前所有隧道的状态,以及所有经过隧道的 HTTP 请求日志,方便你调试接口。