Windows
cloudflaredをWindowsでシステムサービスとしてインストールできます。
デフォルトでは、Cloudflare Tunnelはすべての設定が%USERPROFILE%\.cloudflared\config.yml 設定ファイルに存在することを期待しています。サービスとして実行するには、最低限以下の引数を指定する必要があります:
| 引数 | 説明 |
|---|---|
tunnel | トンネルのUUID |
credentials-file | トンネルのための認証情報ファイルの場所 |
-
新しいディレクトリを作成します:
Terminal window C:\Cloudflared\bin -
ステップ1でダウンロードした
.exeファイルを新しいディレクトリにコピーし、cloudflared.exeに名前を変更します。 -
管理者としてCMDを開き、
C:\Cloudflared\binに移動します。 -
次のコマンドを実行して
cloudflaredをインストールします:Terminal window cloudflared.exe service install -
次に、別のディレクトリを作成するためにこのコマンドを実行します:
Terminal window mkdir C:\Windows\System32\config\systemprofile\.cloudflared -
cloudflaredにログインして認証します:Terminal window cloudflared.exe login -
ログインコマンドは
cert.pemファイルを生成し、デフォルトでユーザープロファイルに保存します。このファイルをステップ5で作成した.cloudflaredフォルダーにコピーするために、次のコマンドを使用します:Terminal window copy C:\Users\%USERNAME%\.cloudflared\cert.pem C:\Windows\System32\config\systemprofile\.cloudflared\cert.pem -
次に、トンネルを作成します:
Terminal window cloudflared.exe tunnel create <Tunnel Name>これにより、
.json形式の認証情報ファイルが生成されます。 -
次の内容で設定ファイルを作成します:
tunnel: <Tunnel ID>credentials-file: C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json# 自己署名証明書を使用している場合は、以下の2行のコメントを外してください# originRequest:# noTLSVerify: trueingress:- hostname: app.mydomain.comservice: https://internal.mydomain.com- service: http_status:404logfile: C:\Cloudflared\cloudflared.log -
ステップ6で作成したフォルダーに認証情報ファイルをコピーします:
Terminal window copy C:\Users\%USERNAME%\.cloudflared\<Tunnel-ID>.json C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json -
次のコマンドを使用して、設定ファイル内のingressルールエントリを検証します:
Terminal window cloudflared.exe tunnel ingress validate -
レジストリエディタで、
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cloudflaredに移動します。 -
Cloudflaredのレジストリエントリで、
ImagePathをcloudflared.exeおよびconfig.ymlファイルを指すように変更します。レジストリエントリを変更する際に余分なスペースや文字がないことを確認してください。これにより、サービスの起動に問題が生じる可能性があります。Terminal window C:\Cloudflared\bin\cloudflared.exe --config=C:\Users\%USERNAME%\.cloudflared\config.yml tunnel run -
サービスが起動しない場合は、
C:\Cloudflared\binから次のコマンドを実行します:Terminal window sc start cloudflared以下の出力が表示されます:
SERVICE_NAME: cloudflaredTYPE : 10 WIN32_OWN_PROCESSSTATE : 2 START_PENDING(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)WIN32_EXIT_CODE : 0 (0x0)SERVICE_EXIT_CODE : 0 (0x0)CHECKPOINT : 0x0WAIT_HINT : 0x7d0PID : 3548FLAGS :
これで、トンネルを通じてトラフィックをルーティングできます。IPルートを追加したり、設定を変更した場合は、新しい設定を読み込むためにサービスを再起動してください:
sc stop cloudflaredsc start cloudflared