当前位置: 首页 > news >正文

Cloudflare开源的cloudflared,不碰防火墙就能暴露内网服务

文章目录

  • Cloudflare开源的cloudflared,不碰防火墙就能暴露内网服务
    • 核心机制
    • 支持的协议
    • 安装方式
    • 版本策略
    • 适用场景

Cloudflare开源的cloudflared,不碰防火墙就能暴露内网服务

Cloudflare维护的cloudflared项目在GitHub上获得了1.4万Star。它是一个命令行隧道客户端,将Cloudflare网络的流量代理到你的源服务器,过程中不需要在防火墙上开任何端口。

我自己平时做开发,经常遇到一个情况:本地跑了一个服务,想让外网的人测试一下,要么部署到公网服务器,要么折腾端口映射和动态DNS。cloudflared解决的就是这个问题。

核心机制

cloudflared在服务器上运行一个守护进程,与Cloudflare边缘网络建立隧道。外部请求到达Cloudflare后,经隧道转发到源服务器,响应沿原路返回。

源服务器始终是隧道的发起方,防火墙只需允许出站连接,入站端口可以全部关闭。这个设计降低了网络暴露面。

支持的协议

Tunnel功能服务于HTTP和WebSocket流量,适合托管网站和API服务。Access功能支持在Layer 4代理TCP流量,覆盖SSH、RDP、数据库连接等场景。

我试过这样一个用法:在一台没有公网IP的测试服务器上运行cloudflared,然后从本地通过SSH直连过去,中间不需要配置任何安全组规则。Cloudflare的Access策略还可以在连接层面叠加身份验证,未通过认证的请求不会被转发。

如果你使用了Cloudflare的WARP客户端,WARP可以直接路由到隧道背后的源站,不再需要单独运行Access命令。

安装方式

cloudflared支持的安装途径比较全:

  • macOS:Homebrew安装,或直接下载二进制文件
  • Linux:二进制包、Debian包、RPM包
  • Windows:独立安装步骤
  • Docker:DockerHub上有官方镜像
  • 源码编译:需要Go 1.26以上,执行make cloudflared

安装后登录Cloudflare账号认证,创建隧道并配置路由。官方文档对DNS记录公开、Load Balancer配合、WARP私有网络路由等用法都有说明。

TryCloudflare功能允许不提前添加网站就创建临时隧道做测试。在正式配置之前先跑通流程,省了不少事。

版本策略

Cloudflare对cloudflared的版本支持窗口为一年。超过一年的旧版本可能遇到兼容性问题,使用者需要跟进升级。

项目代码在持续更新。Go语言编写,依赖capnp进行序列化,构建使用Makefile。开发者可运行make test、make lint、make fmt检查代码质量,提交前安装Git hooks自动校验。

适用场景

这个工具适合三类用户:需要在本地开发环境让外部访问进行调试的开发人员;运行自托管服务但不想暴露公网IP的团队;使用Cloudflare系列产品做网络管理的组织,cloudflared可与WARP、Access联动。

局限在于依赖Cloudflare网络。如果使用其他CDN或代理方案,这个工具不适用。所有流量经过Cloudflare,数据合规有要求的场景需要提前评估。

N或代理方案,这个工具不适用。所有流量经过Cloudflare,数据合规有要求的场景需要提前评估。

http://www.jsqmd.com/news/1075675/

相关文章:

  • 2026制造业质量管理实战:工程图纸自动化识别与检验计划生成指南
  • 公考备考资料太多怎么选?粉笔适合做主线学习工具吗
  • 智谱GLM-5.2与万亿港元市值:国产大模型首个破万亿港元的资本市场里程碑
  • 人工智能专业术语详解(T)
  • GitHub Desktop中文界面终极配置指南:5步完成专业级汉化
  • 终极Windows老游戏兼容解决方案:3步让经典游戏在Win10/11完美重生
  • Coder:自托管云开发环境,让AI代理在你的服务器上写代码
  • 5步掌握缠论量化分析:chan.py框架实战指南
  • Cloudflare 联手三大浏览器,PACT 协议能否彻底终结验证码时代?
  • 30天自制操作系统完全指南:从零构建OSASK操作系统的终极教程
  • 我学会了怎么写类,但到底什么时候该用类?
  • python-rapidjson:给 Python 塞进一台 C++ 引擎
  • 有小伙伴问:Python的 __init__.py 该不该存在?
  • PotplayerPanVideo:打破网盘播放限制,让本地播放器直接播放云盘视频
  • 开源|DroneRFa:面向低空反无人机探测的大规模射频信号数据集(浙大最新成果)
  • claude-mem:让 Claude Code 拥有持久记忆的插件
  • 快速上手Flowframes:AI视频插帧神器,让你的视频流畅度翻倍
  • 现在开始提升短视频宣传质量
  • 联邦学习实战指南:数据不出域的AI协作范式
  • 5大核心技术革新:OpCore-Simplify如何实现OpenCore配置效率3200%提升
  • 【HCIA-AI笔记(微认证1)】2.6 AI开发框架MindSpore
  • Poly Haven Assets:Blender中免费3D资源库的终极解决方案
  • 导学-Vue2导学:从零开始掌握Vue2
  • 人机协作新范式:高效论文写作全流程AI论文工具推荐(2026 最新)
  • G-Helper终极指南:如何免费提升华硕笔记本性能与续航
  • MuleSoft+LangChain企业级AI编排实战:构建合规可审计的LLM流水线
  • Log4Shell漏洞复现与防御:从JNDI注入到远程代码执行实战
  • 从NXP与吉利合作看汽车半导体如何驱动智能汽车创新
  • ArcObjects SDK 10.8实战指南:构建企业级地理信息系统的核心技术架构
  • JMeter接口测试入门:从零到一掌握核心组件与实战技巧