写在前面:
你在内网 Windows 电脑上部署了 Dify 服务:
内网服务地址:http://192.168.x.x:8080/v1或http://localhost:8080/v1
你想把这个地址发给外部用户调用,但对方无法访问。
由于 192.168.x.x 或 localhost 是内网地址/本地地址,外部网络无法直接访问内网IP,需要通过内网穿透工具将内网服务暴露到公网。
根据服务器是否有公网IP分为两种解决方案:
【服务器有内网IP】frp:内网服务对外访问:frp 内网穿透完整教程-CSDN博客
【服务器无内网IP】cpolar/ngrok:本文选择的解决方案是cpolar
一、问题说明
1、不同内网穿透方式对比
常见的内网穿透方式:
| 方案 | 原理 | 要求 |
|---|---|---|
| frp | 借助一台具备公网 IP 的服务器作为流量中转节点,实现内网端口暴露 | 必须自备有公网 IP 的服务器 |
| cpolar/ngrok | 依托官方服务商提供的公网服务器进行流量转发 | 无需自己准备公网服务器 |
本场景选择 cpolar 的原因:
| 问题 | 说明 |
|---|---|
| Linux 服务器没有公网 IP | 云服务器仅分配内网 IP(如 172.27.x.x),未配置独立公网 IP |
| 无法作为 frp 中转节点 | frp 服务端 frps 必须部署在有公网 IP 的机器,外网才能正常接入连接 |
| frp 方案不可行 | 无自有公网服务器支撑,无法搭建 frp 中转,该内网穿透方案无法使用 |
2、解决方案
本文选择使用 cpolar,它提供免费的公网服务器资源。
-
cpolar 自有公网服务器集群
-
你只需要在内网电脑运行 cpolar 客户端
-
cpolar 自动分配公网地址,无需自己准备公网服务器
二、cpolar 介绍
1、cpolar 是什么

cpolar(中文名称:极点云)是由国内团队开发的一款专业内网穿透云服务工具,核心功能是帮助没有公网 IP、无法进行路由器端口映射的用户,将内网中的各类服务(Web 服务、API 接口、数据库、远程桌面等),安全、稳定地暴露到公网,实现外网用户的正常访问和调用。
核心特点:
-
✅ 不需要公网 IP
-
✅ 不需要改路由器
-
✅ 不需要防火墙复杂配置
-
✅ Windows / Linux /macOS/ Docker 全平台
-
✅ 自动给 HTTPS(免费)
-
✅ 免费版:随机域名(24 小时变)
-
✅ 付费版:固定域名、稳定、长期可用
典型用途:
-
内网 Dify / FastAPI / Web 服务 → 给外部用户调用
-
微信公众号、小程序本地调试
-
远程 SSH、远程桌面、家里 NAS
-
开发演示、临时上线测试
2、工作原理
我们可以用一个简单的比喻,理解 cpolar 的工作原理:
你的内网服务器(运行 Dify 服务)就像"藏在小区里的商店",小区大门(防火墙、NAT 路由器)不让外面的人(外网用户)直接进来;而 cpolar 就像"外卖平台",你的商店(内网服务器)主动联系外卖平台(cpolar 云端),注册一个"店铺地址"(公网域名),外面的人(外网用户)不用找小区大门,直接通过外卖平台的"店铺地址"下单(访问公网域名),外卖平台再把订单(访问请求)通过专属通道(加密隧道)送到你的商店(内网服务器),商店做好餐品(服务响应)后,再通过专属通道(加密隧道)交给外卖平台,最后送到用户手上(外网用户)。
核心关键点:不是外网用户主动访问你的内网,而是你的内网服务器主动连接 cpolar 云端,建立一条"双向通道",所有外网请求都通过这条通道中转,从而避开防火墙和 NAT 的拦截。

一句话概括:
内网客户端主动连公网服务器 → 形成一条加密隧道 → 外网用户访问公网地址 → 流量被转发到你内网机器 → 回到你的 8080 端口服务。
三大角色:
-
cpolar 客户端(在你内网机器上)
-
你安装在运行 Dify 的电脑 / 服务器
-
主动向外发起连接(不是外网连你)
-
连接 cpolar 云端,建立长连接隧道
-
-
cpolar 云端(官方公网服务器集群)
-
有固定公网 IP
-
负责:接收外网请求 → 通过隧道转发给你的客户端
-
给你分配公网域名:
xxx.cpolar.io或xxx.cpolar.cn
-
-
外网用户(浏览器 / APP / 调用方)
-
只访问 cpolar 给你的公网 HTTPS 地址
-
完全不用关心你的内网、IP、防火墙
-
三、准备工作
1、确认内网服务正常运行
在部署 Dify 的 Windows 电脑上检查 Dify 容器状态,在cmd命令行中输入:
docker ps
确认看到以下容器正在运行:
| 容器名 | 运行状态 | 端口映射说明 |
|---|---|---|
| docker-nginx-1 | 正常运行 (Up) | 主机 8080 端口映射容器 80 端口 |
| docker-api-1 | 正常运行 (Up) | 无额外标注端口映射 |
| docker-web-1 | 正常运行 (Up) | 无额外标注端口映射 |
打开浏览器访问你的内网地址:http://localhost:8080,能看到Dify界面→ ✓ 服务正常。
测试API接口,在cmd命令行中输入:
curl http://localhost:8080/v1
看到 `Redirecting...` → ✓ API 正常。
2、cpolar 注册安装
(1)注册 cpolar 账号
访问cpolar的官网:cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站
点击右上角注册,注册并激活账号(需要实名认证),选择免费套餐。
(2)获取 authtoken
登录后,进入验证,复制你的隧道authtoken。

(3)下载 cpolar 客户端
下载地址:https://www.cpolar.com/download,选择Windows版本下载,解压下载的安装包文件**cpolar_amd64.msi**,如图所示点击安装。

安装路径设置为E:\cpolar。

3、 配置 cpolar
在cmd命令行中进入 cpolar 目录 E:\cpolar, 配置 authtoken(替换成你的 token):
cpolar authtoken 你的authtoken

输出类似 Authtoken saved to configuration file 即成功。
四、启动内网穿透
1、命令行启动
在cmd命令行中进入 cpolar 目录 E:\cpolar,启动穿透,映射本地8080端口(可以修改为你自己的端口):
cpolar http 8080
2、查看公网地址
启动成功后,会显示类似信息:
Session Status: Online
Account: 你的账号名
Version: 3.x.x
Web Interface: http://localhost:9200
Forwarding: https://abc123.r1.cpolar.cn -> http://localhost:8080
Forwarding: http://abc123.r2.cpolar.cn -> http://localhost:8080
关键信息:
| 项目 | 示例值 | 说明 |
|---|---|---|
| 公网地址(HTTPS) | https://abc123.r1.cpolar.cn |
加密访问,安全性高,推荐优先使用 |
| 公网地址(HTTP) | http://abc123.r2.cpolar.cn |
明文不加密,存在安全风险,不建议正式环境使用 |
| 本地地址 | http://localhost:8080 |
服务器内网本地 Dify 服务访问地址 |
3、测试效果
(1)本地验证
在启动 cpolar 的电脑上测试,在cmd命令行中输入:
curl https://abc123.r1.cpolar.cn/v1
看到 Redirecting... → ✓ 穿透成功

(2)外部验证
让外部用户在电脑上测试,在cmd命令行中输入:
curl https://abc123.r1.cpolar.cn/v1
或者在浏览器访问:https://abc123.r1.cpolar.cn
能看到 Dify 界面 → ✓ 穿透成功
注意:
由于免费版域名是动态的,所以每次重启 cpolar 地址都变化,升级付费版可获得固定域名。
欢迎交流!!🌹🌹