Cloudflare 免费内网穿透隧道

 

最近国内各地各大运营商都比较难申请到公网 ipv4 地址了(虽说同时也普及了 ipv6), 但如果现在想在国内没有公共 ipv4 地址的机器上搭建公开可访问的服务的话就需要服务器转发了.

各个公开的内网穿透服务稳定性都不怎么样, 国内服务器要备案且带宽贵, 国外服务器流量贵且可能被墙.

后来无意中发现了 Cloudflare 官方也提供了免费的内网隧道, 故来尝试一下.

前置准备

  1. Cloudflare 账户
  2. 一个托管在 Cloudflare 的域名. (国内外注册的均可, 无需备案)
  3. 一张能支付外币的信用卡. (用于注册 Cloudflare Zero Trust 服务)

配置流程

  1. 登录 Cloudflare 控制台, 选择自己的域名, 选择进入左侧导航栏的 Cloudflare Tunnel.

    cloudflare-1.pngcloudflare-1.png

  2. 首次登录 Cloudflare Tunnel 需要选择套餐, 选择免费套餐即可, 需要绑定一张能支付美元的信用卡激活.

  3. 左侧选择 Access - Tunnels, 选择创建 Tunnel.

    cloudflare-2.pngcloudflare-2.png

  4. 类似 frp 或者 ngrok 的内网穿透, 按照页面的指示在你的平台上运行客户端程序.

  5. 配置路由, 以下图为例, 访问 https://test.lyc8503.ml 就能直接访问内网的 http://localhost:8081

    cloudflare-3.pngcloudflare-3.png

  6. 如果还有其他服务需要穿透, 可以创建好隧道后继续添加或修改路由.

这种方法的缺点是国内访问速度可能较慢, 需要搭配自选 ip 使用提升速度. 只能穿透 HTTP 服务, 如果需要使用其他类型流量的话, 需要安装另外的客户端. 而且注册需要信用卡, 可能相对复杂一些.

我自己对公网开放的服务都是托管在阿里云 Serverless 上的, 具体可以看我云原生相关的 Blog~

本文采用 CC BY-NC-SA 4.0 许可协议发布.

作者: lyc8503, 文章链接: https://blog.lyc8503.net/post/cloudflared-tunnel/
如果本文给你带来了帮助或让你觉得有趣, 可以考虑赞助我¬_¬