Cloudflare Tunnel内网穿透服务指南

前言

本来吧,买了个阿里云服务器部署服务,前几天阿里云告诉我域名注册商必须转回国内,因为各种原因最后决定取消备案。

结果就是空有公网服务器,用域名反向代理后因为没有备案访问不了。

最后算了,在这台服务器上部署内网穿透吧。

在阿里云上部署内网穿透,这叫啥事啊。。。 这个服务器还有 1 年多几个月,打算先用几个月,最后把那一年给退了。

简介

本文将介绍使用 Cloudflare Tunnel 服务实现内网穿透,做到因为各种原因其他人无法在公网访问你本地服务的人实现访问。

正文

准备

  • 一个域名
  • 一个 Cloudflare 账号
  • docker compose

首先准备这三样

创建 Cloudflare Tunnel

登录 cloudflare控制面板

找到 Zero Trust,点击进入

点击 Networks下的Tunnels,进入tunnel主界面

点击 Create a tunnel 创建一个tunnel服务

选择 Cloudflared,接着输入本次的tuennel名字标识,点击下一步

找到并复制类似这样的一行

1
cloudflared.exe service install eyJhIjoiMzFmMDc3NWM2ZDIxxxxxxxxxxxxxxxxxxxxxxxxx

其中 eyJhIjoiMzF开头的部分就是你本次创建的 cloudflare tunnel服务的访问密钥,记下来,稍后会用到

运行 cloudflared

cloudflare tunnel 是穿透服务,运行这个服务的程序是 cloudflared,这个穿透服务可以在各种环境上使用,包括:

  • Windows
  • Mac
  • Linux
  • Docker

为了简单使用和迁移,本次采用 Docker 方式。

docker compose

1
2
3
4
5
6
7
services:
  cloudflared:
    image: cloudflare/cloudflared
    container_name: cloudflared 
    restart: unless-stopped
    network_mode: host
    command: tunnel --no-autoupdate run --protocol http2 --token       #这里填入自己的token即可

运行即可成功开启了 cloudflare tunnel。

创建公网域名

回到Cloudflare tunnel,接着进入到 Route tunnel 找到 Public hostname部分:

Hostname

  • Subdomain:子域名
  • Domain:主域名
  • Path:路径,选填

Service

  • Type:类型,包含了 httphttpsunixtcpssh…一系列协议
  • URL:本地服务的ip:port

设置好,保存即可

参考:

(无需公网ip,无需端口号)使用Docker Compose部署Cloudflare Tunnel实现内网穿透

网站总访客数:Loading
网站总访问量:Loading
使用 Hugo 构建
主题 StackJimmy 设计
-->