コンテンツにスキップ

Windows

cloudflaredをWindowsでシステムサービスとしてインストールできます。

cloudflaredをサービスとして設定する

デフォルトでは、Cloudflare Tunnelはすべての設定が%USERPROFILE%\.cloudflared\config.yml 設定ファイルに存在することを期待しています。サービスとして実行するには、最低限以下の引数を指定する必要があります:

引数説明
tunnelトンネルのUUID
credentials-fileトンネルのための認証情報ファイルの場所

cloudflaredをサービスとして実行する

  1. 最新のcloudflaredバージョンをダウンロードします。

  2. 新しいディレクトリを作成します:

    Terminal window
    C:\Cloudflared\bin
  3. ステップ1でダウンロードした.exeファイルを新しいディレクトリにコピーし、cloudflared.exeに名前を変更します。

  4. 管理者としてCMDを開き、C:\Cloudflared\binに移動します。

  5. 次のコマンドを実行してcloudflaredをインストールします:

    Terminal window
    cloudflared.exe service install
  6. 次に、別のディレクトリを作成するためにこのコマンドを実行します:

    Terminal window
    mkdir C:\Windows\System32\config\systemprofile\.cloudflared
  7. cloudflaredにログインして認証します:

    Terminal window
    cloudflared.exe login
  8. ログインコマンドはcert.pemファイルを生成し、デフォルトでユーザープロファイルに保存します。このファイルをステップ5で作成した.cloudflaredフォルダーにコピーするために、次のコマンドを使用します:

    Terminal window
    copy C:\Users\%USERNAME%\.cloudflared\cert.pem C:\Windows\System32\config\systemprofile\.cloudflared\cert.pem
  9. 次に、トンネルを作成します:

    Terminal window
    cloudflared.exe tunnel create <Tunnel Name>

    これにより、.json形式の認証情報ファイルが生成されます。

  10. 次の内容で設定ファイルを作成します:

    tunnel: <Tunnel ID>
    credentials-file: C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json
    # 自己署名証明書を使用している場合は、以下の2行のコメントを外してください
    # originRequest:
    # noTLSVerify: true
    ingress:
    - hostname: app.mydomain.com
    service: https://internal.mydomain.com
    - service: http_status:404
    logfile: C:\Cloudflared\cloudflared.log
  11. ステップ6で作成したフォルダーに認証情報ファイルをコピーします:

    Terminal window
    copy C:\Users\%USERNAME%\.cloudflared\<Tunnel-ID>.json C:\Windows\System32\config\systemprofile\.cloudflared\<Tunnel-ID>.json
  12. 次のコマンドを使用して、設定ファイル内のingressルールエントリを検証します:

    Terminal window
    cloudflared.exe tunnel ingress validate
  13. レジストリエディタで、Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cloudflaredに移動します。

  14. Cloudflaredのレジストリエントリで、ImagePathcloudflared.exeおよびconfig.ymlファイルを指すように変更します。レジストリエントリを変更する際に余分なスペースや文字がないことを確認してください。これにより、サービスの起動に問題が生じる可能性があります。

    Terminal window
    C:\Cloudflared\bin\cloudflared.exe --config=C:\Users\%USERNAME%\.cloudflared\config.yml tunnel run
  15. サービスが起動しない場合は、C:\Cloudflared\binから次のコマンドを実行します:

    Terminal window
    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ルートを追加したり、設定を変更した場合は、新しい設定を読み込むためにサービスを再起動してください:

Terminal window
sc stop cloudflared
sc start cloudflared