ゾーンレベルの Authenticated Origin Pulls(AOP)を有効にすると、ゾーンへのプロキシ済みトラフィックはすべて、アップロードした証明書を使ってオリジン Web サーバーで認証されます。グローバル AOP は、全アカウントで共有される Cloudflare 提供の証明書を使います。ゾーンレベルの AOP は、より厳しいセキュリティのため、独自の証明書を使います。
グローバル、ゾーンレベル、ホスト名単位 の AOP は、それぞれ独立した設定です。1 つを有効または無効にしても、ほかには影響しません。
ゾーンの SSL/TLS 暗号化モード が Full 以上であることを確認してください。
ゾーンレベルの AOP では、独自の証明書をアップロードする必要があります。OpenSSL でカスタム証明書を生成する例は、次の手順を参照してください。カスタム証明書の発行に使う CA ルート証明書は、オリジンへアップロードする CA と同じものにしてください。
OpenSSL の例
- 次のコマンドを実行して、AES-256 暗号化を使った 4096 ビットの RSA 秘密鍵を生成します。プロンプトが表示されたらパスフレーズを入力します。
openssl genrsa -aes256 -out rootca.key 4096- CA ルート証明書を作成します。プロンプトが表示されたら、証明書に含める情報を入力します。
Common Nameフィールドにはホスト名ではなく、ドメイン名を指定します。
openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1826 -out rootca.crt- 証明書署名要求(CSR)を作成します。プロンプトが表示されたら、要求に含める情報を入力します。
Common Nameフィールドにはホスト名を指定します。
openssl req -new -nodes -out cert.csr -newkey rsa:4096 -keyout cert.key- 前の手順で作成した
rootca.keyとrootca.crtを使って証明書に署名します。
openssl x509 -req -in cert.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out cert.crt -days 730 -sha256 -extfile ./cert.v3.ext- 証明書拡張ファイル
cert.v3.extに次の内容が指定されていることを確認します。
basicConstraints=CA:FALSE-
Origin Server ページを開きます。
Origin Server を開く ↗ -
Authenticated Origin Pulls タブを選択します。
-
Zone-level セクションで Upload certificate を選択します。
-
証明書と秘密鍵を貼り付け、Continue を選択します。
-
証明書の詳細を確認し、あとで参照できるよう証明書 ID を保存して、Done を選択します。
Upload a zone-level client certificate エンドポイントで証明書をアップロードします。
クライアント証明書の署名に使った CA ルート証明書を、オリジンサーバーへアップロードします。オリジンはこの CA 証明書を使って、Cloudflare が提示するクライアント証明書を検証します。
証明書をインストールしたら、オリジン Web サーバーがクライアント証明書を受け入れるように設定します。
Apache と NGINX の例を次に示します。または、オリジン Web サーバーのドキュメントを参照してください。例: HAProxy ↗、Traefik ↗、Caddy ↗。
Apache の例
SSLCACertificateFile /path/to/origin-pull-ca.pemこの例では、証明書を /path/to/origin-pull-ca.pem に保存しています。
NGINX の例
ssl_verify_client optional;
ssl_client_certificate /etc/nginx/certs/cloudflare.crt;この例では、証明書を /etc/nginx/certs/cloudflare.crt に保存しています。
この時点で、設定が正しく動作しているかを確認するため、オリジンでログを有効にすることも検討してください。
-
Origin Server ページを開きます。
Origin Server を開く ↗ -
Authenticated Origin Pulls タブを選択します。
-
Zone-level セクションで、トグルを On にします。
Set Enablement for Zone エンドポイントで、ゾーンレベルの Authenticated Origin Pulls を有効にします。
特定のオリジン構成で想定どおりに動作することを確認できたら、オリジン側で認証を強制するように設定します。
Apache の例
SSLVerifyClient requireNGINX の例
ssl_verify_client on;手順が終わったら、curl でオリジンの IP に直接リクエストを送り、証明書の検証が強制されているためにリクエストが失敗することを確認できます。
AOP 証明書の期限切れ前に通知を受け取れるよう、アラートを設定できます。
Zone-level Authenticated Origin Pulls Certificate Expiration Alert
対象Cloudflare からオリジンサーバーへの接続を保護するため、ゾーンレベルの Authenticated Origin Pull (AOP) に独自証明書をアップロードしているお客様向けです。 AOP 証明書の有効期限通知は、期限の 30 日前と 14 日前に送られます。
その他のオプション / フィルタなし。
含まれるプランAuthenticated Origin Pull。
受け取ったときの対応ゾーンレベルの AOP 用に、更新した証明書をアップロードします。
アラートの設定方法は、Cloudflare Notifications を参照してください。
その他の選択肢は 証明書を管理する を参照してください。