事前検証は、顧客のトラフィックが Cloudflare 経由でプロキシされる前に、ドメインの所有権を確認するのに役立ちます。
事前検証は、顧客がダウンタイムを許容できない場合に使います。本番ドメインでよくある状況です。
一方で、顧客側に追加の設定作業が必要です。すでに 証明書の検証 のためにドメインへ何か追加してもらう必要がある場合、事前検証はオンボーディングを複雑にする可能性があります。
顧客が多少のダウンタイムを許容でき、設定を簡潔にしたい場合は、リアルタイム検証 を確認してください。
TXT 検証では、顧客が権威 DNS に TXT レコードを追加して、ドメインの所有権を確認します。
TXT 検証を設定するには:
-
カスタムホスト名を作成 したとき、
ownership_verificationの情報を保存します。{ "result": [ { "id": "3537a672-e4d8-4d89-aab9-26cb622918a1", "hostname": "app.example.com", // ... "status": "pending", "verification_errors": ["custom hostname does not CNAME to this zone."], "ownership_verification": { "type": "txt", "name": "_cf-custom-hostname.app.example.com", "value": "0e2d5a7f-1548-4f27-8c05-b577cb14f4ec" }, "created_at": "2020-03-04T19:04:02.705068Z" } ] } -
顧客に、その
nameとvalueを権威 DNS プロバイダーでTXTレコードとして追加してもらいます。 -
数分後、UI でホスト名のステータスが Active になります。
-
カスタムホスト名を有効にしたあと、顧客は
TXTレコードを削除できます。
HTTP 検証では、あなたまたは顧客がオリジンサーバーに HTTP トークンを置き、ドメインの所有権を確認します。
HTTP 検証を設定するには:
API で カスタムホスト名を作成 すると、レスポンスに HTTP の ownership_verification レコードが返ります。
ownership_verification レコードを取得して使うには:
-
Custom Hostname を作成 する API を呼び出します。
-
レスポンスの
ownership_verification_httpオブジェクトからhttp_urlとhttp_bodyをコピーします。レスポンスの例(抜粋)json { "result": [ { "id": "24c8c68e-bec2-49b6-868e-f06373780630", "hostname": "app.example.com", // ... "ownership_verification_http": { "http_url": "http://app.example.com/.well-known/cf-custom-hostname-challenge/24c8c68e-bec2-49b6-868e-f06373780630", "http_body": "48b409f6-c886-406b-8cbc-0fbf59983555" }, "created_at": "2020-03-04T20:06:04.117122Z" } ] } -
顧客に、オリジンの Web サーバーへ
http_urlとhttp_bodyを配置してもらいます。レスポンスの例(抜粋)txt location "/.well-known/cf-custom-hostname-challenge/24c8c68e-bec2-49b6-868e-f06373780630" { return 200 "48b409f6-c886-406b-8cbc-0fbf59983555\n"; }Cloudflare は
User-Agent: Cloudflare Custom Hostname Verificationを付けたGETリクエストをhttp_urlに送り、このトークンにアクセスします。 -
数分後、UI でホスト名のステータスが Active になります。
-
ホスト名が active になったあと、顧客はオリジンサーバーからトークンを削除できます。
別プロバイダーですでに稼働しているホスト名をオンボードする場合、事前検証と手動 HTTP DCV を組み合わせると、無停止で移行できます。
"ssl": {"method": "http", "type": "dv"}でカスタムホスト名を作成します。- TXT レコードで ホスト名所有権の事前検証 を完了し、ホスト名を
status: activeにします。 ssl.validation_recordsに HTTP DCV トークン(http_urlとhttp_bodyのペア)が入るまで待ちます。- 顧客に、現在稼働中のオリジンの
http_urlパスで DCV トークンを配信してもらいます。認証局は現在の DNS ターゲットに対して検証します。 ssl.statusがactiveになると、ホスト名と証明書の準備が整います。- 顧客は DNS の CNAME を SaaS ターゲットへ切り替えても、サービスは止まりません。証明書はすでに発行済みです。