内网服务对外访问:cpolar 内网穿透完整教程

写在前面:

你在内网 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.ioxxx.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 地址都变化,升级付费版可获得固定域名。

欢迎交流!!🌹🌹

相关推荐
老詹图解IT1 小时前
统信 UOS 登录界面转圈闪退/卡登录等常见原因及处理
linux·服务器·网络
轻颂呀1 小时前
进程间关系和守护进程
linux·网络
QH139292318802 小时前
R&S®SMBV100B 矢量信号发生器 5G/Wi-Fi/GNSS 主力源
网络·科技·嵌入式硬件·集成测试·信息与通信
皮卡蛋炒饭.2 小时前
传输层协议TCP
服务器·网络·tcp/ip
JSMSEMI112 小时前
JSM13N50F 500V N 沟道功率 MOSFET
大数据·网络·人工智能
盟接之桥2 小时前
制造业场景 | 电子数据交换(EDI)软件|AS2协议
大数据·网络·安全·汽车·制造
小子想咋滴2 小时前
ospf不规则区域划分
网络
星恒讯工业路由器2 小时前
5G SA+NSA 灵活组网:如何助力行业数字化转型?——以星恒讯工业5G方案为例
网络·物联网·智能路由器·信息与通信
Andy3 小时前
C++ 容器适配器_栈_队列_双端队列
开发语言·网络·c++