首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >无公网ip穿透内网域名访问怎么搞?Cloudflare Tunnel 内网穿透工具自定义域名,外网畅连本地设备

无公网ip穿透内网域名访问怎么搞?Cloudflare Tunnel 内网穿透工具自定义域名,外网畅连本地设备

原创
作者头像
用户4416417
发布2025-09-01 11:55:24
发布2025-09-01 11:55:24
7420
举报

无论是远程办公需要访问公司内网服务器,还是在家中查看监控画面,外网访问内网设备都变得愈发重要。个别环境有动态公网Ip的,是可以利用 DDNS 动态域名解析是实现这一需求的有效方式。但对于大多数个人家庭网络和普通一般公司带宽都是无公网IP网络,较为便捷且成本控制的方案就是借助内网穿透域名访问来实现。

对于普通小白用户可能会大多考虑使用像nat123这样的界面化简单的内网端口映射工具方式,但这种三方成熟穿透服务的体验版本线路功能相对有限。本文将深入内网穿透技术应用操作教程,介绍实用的实现工具Cloudflare Tunnel 内网穿透部署文档(Windows + 自定义域名)适用于在 Windows 系统下,使用 Cloudflare Tunnel 将本地服务(如127.0.0.1:8080)通过自定义域名(如:api.xxxx.com)暴露到公网,无需公网 IP。

一、准备工作

1、注册并登录 Cloudflare

访问官网:https://dash.cloudflare.com/。注册账户并登录。也可以直接用谷歌或苹果帐号登录。

2、添加域名到 Cloudflare(以 xxxx.com 为例)

登录 Cloudflare 后点击“添加站点”,输入你的域名 xxxx.com,选择免费套餐(Free)。

Cloudflare 会提供两个 NS 服务器地址,前往你域名的注册商(如阿里云、腾讯云、华为云等),修改 DNS 为上述 NS 地址

等待 DNS 生效(通常几分钟到几小时)。

二、下载并配置 cloudflared

下载 cloudflared.exe它的执行安装文件

访问:https://github.com/cloudflare/cloudflared/releases/

下载适用于 Windows 的 cloudflared-windows-amd64.exe

我本地习惯性地重命名为 cloudflared.exe,并建议统一存放在:D:\cloudflared\

本人本地测试时是将所有配置文件都统一放在 D:\cloudflared\ 目录下,方便后续管理维护。

三、登录 Cloudflare 并授权

1、 登录 cloudflare

```bash

D:

cd D:\cloudflared

cloudflared.exe login

```

浏览器会自动打开授权页面

选择你的域名 xxxx.com 并点击授权

Cloudflare 会自动下载凭证文件(默认是下载到用户目录) C:\Users\你的用户名.cloudflared

2、拷贝 cert.pem 到指定目录

将默认下载在:C:\Users\你的用户名\.cloudflared\cert.pem

复制到:D:\cloudflared\cert.pem

四、创建 Tunnel 隧道

1、创建隧道

在命令行中继续执行:cloudflared.exe tunnel create mytunnel

创建成功后,将生成一个 UUID 凭证文件(如:f12c4-xxxx-yyyy-zzzz-abcdefijkl.json)

输出一条日志,提示 UUID,例如:

Created tunnel mytunnel with id: f1a2c4-xxxx-yyyy-zzzz-abcdhijkl

文件默认生成在:C:\Users\你的用户名\.cloudflared\

请手动复制或移动该文件到 D:\cloudflared\ 目录下,并重命名为一致的名称(如:mytunnel.json)

如果提示 “tunnel already exists”,请:

使用已有 tunnel(跳过此步),或 删除 tunnel 后重新创建:

cloudflared.exe tunnel delete mytunnel

五、配置 config.yml

在 D:\cloudflared\ 目录下创建 config.yml 文件:

tunnel: mytunnel

credentials-file: D:\cloudflared\mytunnel.json

ingress:

- hostname: web.xxxx.com # 在cloudflared网站添加的域名(可以是子域名或者是顶级域名)

service: http://localhost:8090 # 本地服务的地址

- service: http_status:404

说明:

tunnel: 对应你创建的 tunnel 名称

credentials-file: 必须是你保存凭证文件的路径(和 cloudflared.exe 同级)

hostname: 你在 Cloudflare 上设置的子域名

service: 你本地服务的地址(根据实际情况修改)

六、将域名绑定到 Tunnel

使用以下命令将你的子域名绑定到 tunnel 上::

cloudflared.exe tunnel route dns mytunnel web.xxxx.com

Cloudflare 会自动添加一条 DNS 记录,将 web.xxxx.com 指向 Cloudflare Tunnel。

成功后 Cloudflare 会自动添加一条 DNS 记录,将该子域名指向该 tunnel。

七、运行 Tunnel

方式一:手动运行

cloudflared.exe tunnel --config D:\cloudflared\config.yml run

方式二:注册为系统服务(可选)

cloudflared.exe service install --config D:\cloudflared\config.yml

安装为服务后,系统启动时会自动运行 Cloudflare Tunnel。

八、测试域名访问

打开浏览器访问:

http://web.xxxx.com

若页面能正常显示本地服务内容,即配置成功

九、防火墙和本地服务排查(如遇问题)

确保本地服务已正常运行(如:8090 端口)

Windows 防火墙未阻止 cloudflared.exe 出网

检查配置文件路径是否正确

如果你配置了其他路径,请确保一致性

十、常见问题 FAQ

一些比较常见的问题可能分析和解决方法:

403 Forbidden : 检查 config.yml 配置是否正确,是否执行了 tunnel route dns

ERR_CONNECTION_REFUSED : 本地服务未启动或监听地址不是 localhost

Timeout : 尝试使用 --protocol h2mux 参数启动

登录授权跳转失败 : 复制授权链接手动在浏览器打开

tunnel already exists : 使用已有 tunnel 或删除后重建

credentials file not found : 确保凭证文件在指定位置并路径正确

十一、注意/小结

1.不要滥用,确保内容合规。

2.长期提供公网访问服务时,定时查看本地服务器运行状态和资源使用情况,确保本地网络稳定安全。

3.这种内网穿透cf方式速度在国内访问并不算快的,胜在免费和自定义域名访问。有条件的建议自己公网主机搭建内网穿透服务,当然,更推荐公网直连。如果是无公网IP普通用户,使用像nat123端口映射外网自定义域名端口访问也是一种选择,nat123有改变端口转发数据模式和同端口点到点直连访问方式,但其体验版本体验线路的资源功能相对有限,稳定快速度访问需求需要升级高级线路使用。

4.内网穿透技术应用能轻松穿透各种复杂的路由器和防火墙,让外网设备通过域名快速访问到内网应用。广泛应用于 OA、ERP、CRM、NAS 私有云、视频监控、FTP、SVN、MAC 服务器、Windows 远程桌面、游戏联机、网站、博客、微信公众号和小程序开发调试、遥感测绘、等各种应用场景,助力用户实现内外网信息互联互通,为工作和生活带来极大的便利。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、准备工作
  • 二、下载并配置 cloudflared
  • 三、登录 Cloudflare 并授权
  • 四、创建 Tunnel 隧道
  • 五、配置 config.yml
  • 六、将域名绑定到 Tunnel
  • 七、运行 Tunnel
  • 八、测试域名访问
  • 九、防火墙和本地服务排查(如遇问题)
  • 十、常见问题 FAQ
  • 十一、注意/小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档