TXT レコード検証では、ホスト名の権威 DNS に TXT レコードを作成する必要があります。
カスタムホスト名を作成 するときに、証明書検証方法を 1 つ選びます。API が受け付ける ssl.method の値は http、txt、email のいずれか 1 つです。
一般的には、HTTP 検証 や Delegated DCV を使えない場合、または顧客が DNS を変更する前に証明書を有効にしたい場合に、TXT ベースの DCV を使います。
カスタムホスト名にワイルドカードが含まれない場合、ホスト名が SaaS ターゲットを向いたあと、検証方法に TXT を選んでいても、Cloudflare は常に HTTP 検証 で DCV の完了を試みます。
顧客のホスト名が SaaS ターゲットを向き、選んだ認証局をブロックする CAA レコード がなければ、この HTTP 検証は成功するはずです。
この自動 HTTP 試行は、Create Custom Hostname API が 1 つのリクエストで HTTP と TXT の両方の検証方法を受け付けることを意味しません。ssl.method フィールドが受け付ける値は 1 つです。
ワイルドカードのカスタムホスト名で証明書を検証するには、Delegated DCV または TXT ベースの DCV のいずれかを設定してください。
Cloudflare は、お客様と顧客の両方にとって設定がはるかに簡単な Delegated DCV を推奨します。
TXT ベースの DCV を選ぶ場合、ワイルドカード証明書を発行または更新するには、顧客の権威 DNS プロバイダーに TXT DCV トークンを 2 つ置く必要があります。1 つは apex 用、もう 1 つはワイルドカード用です。
この 2 つのトークンが必要なのは、Let’s Encrypt と Google Trust Services が ACME Protocol ↗ に従うためです。ACME Protocol では、証明書上のホスト名ごとに 1 つの DCV トークンを置く必要があります。
つまり、ワイルドカードのカスタムホスト名を使う場合は、これらの DCV トークンを顧客と共有する方法が必要です。
新しいホスト名を作成 してこの検証方法を選ぶと、数秒後にトークンが用意されます。
これらのトークンは、カスタムホスト名の作成時または証明書の更新時に、証明書が Pending Validation(検証待ち) の状態であるあいだ、API またはダッシュボードから取得できます。
これらのトークンには、API の GET custom hostnames エンドポイント でアクセスできます。
たとえば、ワイルドカード カスタムホスト名の API レスポンスでは、次の 2 つのトークンがハイライトされています。
{
"result": [
{
"id": "<HOSTNAME_ID>",
"hostname": "<HOSTNAME>",
"ssl": {
"id": "<CERTIFICATE_ID>",
"type": "dv",
"method": "txt",
"status": "pending_validation",
"validation_records": [
{
"status": "pending",
"txt_name": "_acme-challenge.<HOSTNAME>",
"txt_value": "gESljTB8fBT1mIuoEASU0qcK-oTd46baarnU_ZGjJIY"
},
{
"status": "pending",
"txt_name": "_acme-challenge.<HOSTNAME>",
"txt_value": "Pd8ViwX8KuA78kLbQHGmdEh4tQSpHBRxiNuJOYStEC0"
}
],
"settings": {
"min_tls_version": "1.0"
},
"bundle_method": "ubiquitous",
"wildcard": true,
"certificate_authority": "google"
},
"status": "pending",
"ownership_verification": {
"type": "txt",
"name": "_cf-custom-hostname.<HOSTNAME>",
"value": "ac4a9a9d-5469-44cb-9d76-cea7541c9ff8"
},
"ownership_verification_http": {
"http_url": "http://<HOSTNAME>/.well-known/cf-custom-hostname-challenge/fabdf93c-a4ce-4075-9f3f-c553a5f93bed",
"http_body": "ac4a9a9d-5469-44cb-9d76-cea7541c9ff8"
},
"created_at": "2022-10-06T19:35:33.143257Z"
}
]
}-
Cloudflare ダッシュボードで Custom Hostnames ページを開きます。
Custom Hostnames を開く ↗ -
ホスト名を選びます。
-
Certificate validation TXT name と Certificate validation TXT value の値をコピーします。
以前に ワイルドカード カスタムホスト名を作成していた場合は、検証用 TXT レコード 2 件の値をコピーする必要があります。
これらの TXT トークンを顧客と共有する必要があります。
お客様は、権威 DNS プロバイダーの "_acme-challenge" DNS ラベル配下に、これらのレコードを配置してください。TXT レコードが置かれると、検証と証明書の発行は自動で完了します。
即時再チェックを依頼する場合は、次の再試行を待つのではなく、最初の POST リクエストと同じ値で PATCH リクエスト を送ります。
DCV トークンは、認証局によって 一定時間 で期限切れになります。
そのため、顧客が権威 DNS プロバイダーへのトークン配置に時間がかかりすぎた場合は、新しいトークンを取得 して、再度顧客と共有する必要があります。