您可以在 Windows 上将 cloudflared 安装为系统服务。
默认情况下,Cloudflare Tunnel 要求所有配置都存在于 %USERPROFILE%\.cloudflared\config.yml 配置文件中。要作为服务运行,您至少必须指定以下参数:
| 参数 | 描述 |
|---|---|
tunnel |
您的 Tunnel 的 UUID |
credentials-file |
您的 Tunnel 的凭证文件的位置 |
下载最新版本的
cloudflared。-
创建一个新目录:
C:\Cloudflared\bin -
将您在步骤 1 中下载的
.exe文件复制到该新目录中,并将其重命名为cloudflared.exe。 -
以管理员身份打开 CMD 并转到
C:\Cloudflared\bin。 -
运行此命令以安装
cloudflared:cloudflared.exe service install -
接下来,运行此命令创建另一个目录:
mkdir C:\Windows\System32\config\systemprofile\.cloudflared -
登录并身份验证
cloudflared:cloudflared.exe login -
登录命令将生成一个
cert.pem文件,默认情况下会将其保存到您的用户配置文件中。使用以下命令将该文件复制到步骤 5 中创建的.cloudflared文件夹中:copy C:\Users\%USERNAME%\.cloudflared\cert.pem C:\Windows\System32\config\systemprofile\.cloudflared\cert.pem -
接下来,创建一个 Tunnel:
cloudflared.exe tunnel create <Tunnel Name>这将生成一个
.json格式的 凭证文件。 创建配置文件,其内容如下:
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-
将凭证文件复制到步骤 6 中创建的文件夹:
copy C:\Users\%USERNAME%\.cloudflared\<Tunnel-ID>.json C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json -
使用以下命令验证配置文件中的 ingress 规则条目:
cloudflared.exe tunnel ingress validate -
在注册表编辑器中,转到
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cloudflared。 -
在 Cloudflared 注册表项中,修改
ImagePath以指向cloudflared.exe和config.yml文件。修改注册表项时,请确保没有多余的空格或字符,因为这可能会导致服务启动出现问题。C:\Cloudflared\bin\cloudflared.exe --config=C:\Windows\System32\config\systemprofile\.cloudflared\config.yml tunnel run -
如果服务未启动,请从
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