Windows では、cloudflared をシステムサービスとしてインストールできます。
デフォルトでは、Cloudflare Tunnel はすべての設定が %USERPROFILE%\.cloudflared\config.yml 設定ファイル にあることを想定しています。サービスとして実行するには、少なくとも次の引数を指定する必要があります。
| 引数 | 説明 |
|---|---|
tunnel |
トンネルの UUID |
credentials-file |
トンネルの認証情報ファイルの場所 |
-
最新の
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 -
次に、トンネルを作成します。
cloudflared.exe tunnel create <Tunnel Name>これにより、
.json形式の 認証情報ファイル が生成されます。 -
次の内容で 設定ファイルを作成 します。
tunnel: <Tunnel ID> credentials-file: C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json # Uncomment the following two lines if you are using self-signed certificates in your origin server # 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 :
これで トンネル経由でトラフィックをルーティング できます。IP ルートを追加するなど設定を変更した場合は、サービスを再起動して新しい設定を読み込みます。
sc stop cloudflared
sc start cloudflared