跳转到内容
搜索文档

Windows

最后更新 查看 MarkdownAgent 设置

您可以在 Windows 上将 cloudflared 安装为系统服务。

cloudflared 配置为服务

默认情况下,Cloudflare Tunnel 要求所有配置都存在于 %USERPROFILE%\.cloudflared\config.yml 配置文件中。要作为服务运行,您至少必须指定以下参数:

参数 描述
tunnel 您的 Tunnel 的 UUID
credentials-file 您的 Tunnel 的凭证文件的位置

cloudflared 作为服务运行

  1. 下载最新版本的 cloudflared

  2. 创建一个新目录:

    C:\Cloudflared\bin
  3. 将您在步骤 1 中下载的 .exe 文件复制到该新目录中,并将其重命名为 cloudflared.exe

  4. 以管理员身份打开 CMD 并转到 C:\Cloudflared\bin

  5. 运行此命令以安装 cloudflared

    cloudflared.exe service install
  6. 接下来,运行此命令创建另一个目录:

    mkdir C:\Windows\System32\config\systemprofile\.cloudflared
  7. 登录并身份验证 cloudflared

    cloudflared.exe login
  8. 登录命令将生成一个 cert.pem 文件,默认情况下会将其保存到您的用户配置文件中。使用以下命令将该文件复制到步骤 5 中创建的 .cloudflared 文件夹中:

    copy C:\Users\%USERNAME%\.cloudflared\cert.pem C:\Windows\System32\config\systemprofile\.cloudflared\cert.pem
  9. 接下来,创建一个 Tunnel:

    cloudflared.exe tunnel create <Tunnel Name>

    这将生成一个 .json 格式的 凭证文件

  10. 创建配置文件,其内容如下:

    tunnel: <Tunnel ID>
    credentials-file: C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json
    # 如果您在源服务器中使用自签名证书,请取消注释以下两行
    # originRequest:
    #   noTLSVerify: true
    
    ingress:
      - hostname: app.mydomain.com
        service: https://internal.mydomain.com
      - service: http_status:404
    logfile:  C:\Cloudflared\cloudflared.log
  11. 将凭证文件复制到步骤 6 中创建的文件夹:

    copy C:\Users\%USERNAME%\.cloudflared\<Tunnel-ID>.json C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json
  12. 使用以下命令验证配置文件中的 ingress 规则条目:

    cloudflared.exe tunnel ingress validate
  13. 在注册表编辑器中,转到 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cloudflared

  14. 在 Cloudflared 注册表项中,修改 ImagePath 以指向 cloudflared.execonfig.yml 文件。修改注册表项时,请确保没有多余的空格或字符,因为这可能会导致服务启动出现问题。

    C:\Cloudflared\bin\cloudflared.exe --config=C:\Windows\System32\config\systemprofile\.cloudflared\config.yml tunnel run
  15. 如果服务未启动,请从 C:\Cloudflared\bin 运行以下命令:

    sc start cloudflared

    您将看到以下输出:

    SERVICE_NAME: cloudflared
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 2  START_PENDING
                                    (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x7d0
            PID                : 3548
            FLAGS              :

后续步骤

您现在可以 通过您的 Tunnel 路由流量。如果您添加了 IP 路由或以其他方式更改了配置,请重启服务以加载新配置:

sc stop cloudflared
sc start cloudflared

这篇文档对您有帮助吗?