グローバル Authenticated Origin Pulls(AOP)を有効にすると、Cloudflare はゾーンへのプロキシ済みトラフィックすべてに、Cloudflare 提供のクライアント証明書を使います。この証明書はすべての Cloudflare アカウントで共有され、リクエストが Cloudflare ネットワークから来ていることを保証します。
グローバル、ゾーンレベル、ホスト名ごと の AOP は、それぞれ独立した設定です。1 つを有効または無効にしても、ほかの設定には影響しません。
-
ゾーンの SSL/TLS 暗号化モード が Full 以上であることを確認してください。
-
セキュリティと証明書の要件を検討してください。
-
Cloudflare 提供の証明書は、アカウント専用ではありません。リクエストが Cloudflare ネットワークから来ていることだけを保証します。より厳しいセキュリティが必要な場合は、独自の証明書を使い、ゾーンレベル または ホスト名ごと の AOP を設定してください。
-
グローバル AOP は、ゾーン上のプロキシ済みホスト名すべてに適用されます。Cloudflare for SaaS ゾーンに設定した カスタムホスト名 も含まれます。カスタムホスト名ごとに別の AOP 証明書が必要な場合は、ホスト名ごと AOP を使います。
-
Cloudflare Authenticated Origin Pull 証明書(.PEM) をダウンロードし、オリジンサーバーへアップロードします。この証明書は Cloudflare Origin CA 証明書 とは異なります。
証明書をインストールしたら、オリジン Web サーバーがクライアント証明書を受け入れるように設定します。
Apache と NGINX の例を次に示します。または、オリジン Web サーバーのドキュメントを参照してください。例: HAProxy ↗、Traefik ↗、Caddy ↗。
Apache の例
SSLCACertificateFile /path/to/origin-pull-ca.pemこの例では、証明書を /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 に保存しています。
/etc/nginx/certs/cloudflare.crt へアップロードします。この時点で、設定が正しく動作しているかを確認するため、オリジンでログを有効にすることも検討してください。
-
Origin Server ページを開きます。
Origin Server を開く ↗ -
Authenticated Origin Pulls タブを選択します。
-
Global セクションで、トグルを On に切り替えます。
API でグローバル Authenticated Origin Pulls を有効または無効にするには、ゾーン設定の編集エンドポイント を使い、URI パスの設定名を tls_client_auth にし、value パラメーターを希望する設定("on" または "off")にします。
特定のオリジン構成で想定どおりに動作することを確認できたら、オリジン側で認証を強制するように設定します。
Apache の例
SSLVerifyClient requireNGINX の例
ssl_verify_client on;手順が終わったら、curl でオリジンの IP に直接リクエストを送り、証明書の検証が強制されているためにリクエストが失敗することを確認できます。