Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Docker で実行する

最終更新 Markdown で表示Agent セットアップ

gokeyless 鍵サーバーはコンテナイメージとして公開されています。ほとんどの設定は、gokeyless.yaml ファイルではなく環境変数で指定できます。

イメージを取得する

docker pull ghcr.io/cloudflare/gokeyless:latest

完全な例は、gokeyless リポジトリの docker-compose.example.yaml にあります。

環境変数

各環境変数は、gokeyless.yaml の対応する設定に対応します。両方がある場合は、環境変数が優先されます(優先順位は、コマンドラインフラグ、環境変数、設定ファイルの順です)。

環境変数 用途
KEYLESS_HOSTNAME この鍵サーバーのホスト名です(Cloudflare で設定した値と一致させてください)。
KEYLESS_ZONE_ID Cloudflare の Zone ID です。
KEYLESS_ORIGIN_CA_API_KEY 鍵サーバーの登録と認証証明書の取得に使う Origin CA API キーです。
KEYLESS_AUTH_CERT 鍵サーバーの認証証明書のパスです(デフォルトは server.pem)。
KEYLESS_AUTH_KEY 認証証明書の秘密鍵のパスです(デフォルトは server-key.pem)。
KEYLESS_AUTH_CSR 初期化時に生成する CSR の書き出し先パスです(デフォルトは server.csr)。
KEYLESS_CLOUDFLARE_CA_CERT 接続する鍵クライアントの認証に使う Cloudflare CA 証明書のパスです(デフォルトは keyless_cacert.pem)。
KEYLESS_PORT 鍵サーバーが待ち受けるポートです(デフォルトは 2407)。
KEYLESS_METRICS_PORT /metrics エンドポイントのポートです(デフォルトは 2406)。
KEYLESS_LOGLEVEL ログの詳細度です。0(最も詳細)から 5 までです。

秘密鍵を設定する

秘密鍵の場所は環境変数では設定できませんgokeyless.yamlprivate_key_stores ブロックで設定します(各エントリは dirfileuri のいずれか 1 つだけを指定します)。または、イメージ名のあとに引数として --private-key-dirs / --private-key-files フラグ(カンマ区切り)を渡します。

コンテナを実行する

docker run -d \
  -e KEYLESS_HOSTNAME=<KEY_SERVER_HOSTNAME> \
  -e KEYLESS_ZONE_ID=<ZONE_ID> \
  -e KEYLESS_AUTH_CERT=/config/server.pem \
  -e KEYLESS_AUTH_KEY=/config/server-key.pem \
  -e KEYLESS_CLOUDFLARE_CA_CERT=/config/keyless_cacert.pem \
  -v /local/config:/config:ro \
  -v /local/keys:/keys:ro \
  -p 2407:2407 \
  ghcr.io/cloudflare/gokeyless:latest \
  --private-key-dirs /keys

イメージのエントリポイントは gokeyless です。そのため、--private-key-dirs などのコマンドラインフラグは、イメージ名のあとに付けます。

複数の秘密鍵を提供する

1 つの鍵サーバーで、複数の証明書の秘密鍵を保持できます。--private-key-dirs / --private-key-files(カンマ区切り)で複数のディレクトリまたはファイルを指定するか、gokeyless.yaml に複数の private_key_stores エントリを定義します。

役に立ちましたか?