侧边栏壁纸
博主头像
DOKI SEKAI博主等级

行动起来,活在当下

  • 累计撰写 114 篇文章
  • 累计创建 38 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Cloudflare Tunnel 配置文档

君
2024-11-01 / 0 评论 / 0 点赞 / 16 阅读 / 5174 字

Cloudflare Tunnel 配置文档

目录

  1. 简介
  2. 环境准备
  3. 下载与安装 cloudflared
  4. 创建 Tunnel
  5. 配置 Tunnel
  6. 设置 DNS 解析
  7. 在后台运行 Tunnel
  8. 测试 Tunnel
  9. 故障排查
  10. 总结

简介

Cloudflare Tunnel 允许安全地将内部应用程序暴露到外部互联网,而无需公开暴露你的服务。本文档将详细指导如何配置和运行 Cloudflare Tunnel。

环境准备

  • 操作系统:支持的 Linux 发行版(如 Ubuntu)
  • 访问权限:root 用户或具有 sudo 权限的用户
  • Cloudflare 账户和已配置的域名

下载与安装 cloudflared

  1. 下载 cloudflared

    # 对于 Linux
    curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
    
  2. 赋予执行权限

    chmod +x cloudflared
    
  3. 移动到系统路径(可选)

    sudo mv cloudflared /usr/local/bin/
    

创建 Tunnel

  1. 登录 Cloudflare

    cloudflared tunnel login
    

    按照提示打开浏览器进行身份验证。登录后,Cloudflare 会提供一个证书文件,通常位于 ~/.cloudflared 目录下。确保将此文件复制到指定路径。

  2. 创建 Tunnel

    cloudflared tunnel create <your-tunnel-name>
    
  3. 查看现有 Tunnel

    cloudflared tunnel list
    

配置 Tunnel

  1. 创建配置文件
    ~/.cloudflared/config.yml 中创建以下配置:
    tunnel: <your-tunnel-id>
    credentials-file: /path/to/your/credentials.json
    
    ingress:
      - hostname: yourdomain.com
        service: http://localhost:PORT  # 替换为本地服务的地址
      - service: http_status:404  # 默认处理
    

设置 DNS 解析

  1. 添加 DNS 解析
    使用以下命令为每个子域名添加 DNS 记录:

    cloudflared tunnel route dns <your-tunnel-name> yourdomain.com
    

    对于多个子域名,可以重复上述命令:

    cloudflared tunnel route dns <your-tunnel-name> subdomain1.yourdomain.com
    cloudflared tunnel route dns <your-tunnel-name> subdomain2.yourdomain.com
    

在后台运行 Tunnel

  1. 创建 systemd 服务文件

    sudo nano /etc/systemd/system/cloudflared.service
    
  2. 添加服务配置

    [Unit]
    Description=Cloudflare Tunnel
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/cloudflared tunnel run <your-tunnel-name>
    Restart=on-failure
    User=root
    StandardOutput=journal
    StandardError=journal
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重新加载 systemd 配置

    sudo systemctl daemon-reload
    
  4. 启动服务

    sudo systemctl start cloudflared
    
  5. 设置开机自启

    sudo systemctl enable cloudflared
    

测试 Tunnel

使用以下命令测试配置是否成功:

curl -I https://yourdomain.com

故障排查

  • 服务无法访问:检查本地服务是否正在运行,并确保端口开放。
  • cloudflared 日志:查看日志获取更多信息:
    journalctl -u cloudflared -f
    
0

评论区