Skip to content

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

TXT

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

TXT レコード検証では、ホスト名の権威 DNS に TXT レコードを作成する必要があります。


カスタムホスト名を作成 するときに、証明書検証方法を 1 つ選びます。API が受け付ける ssl.method の値は httptxtemail のいずれか 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 トークンを顧客と共有する方法が必要です。


1. TXT トークンを取得する

新しいホスト名を作成 してこの検証方法を選ぶと、数秒後にトークンが用意されます。

これらのトークンは、カスタムホスト名の作成時または証明書の更新時に、証明書が Pending Validation(検証待ち) の状態であるあいだ、API またはダッシュボードから取得できます。

これらのトークンには、API の GET custom hostnames エンドポイント でアクセスできます。

たとえば、ワイルドカード カスタムホスト名の API レスポンスでは、次の 2 つのトークンがハイライトされています。

Responsejson
{
  "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"
    }
  ]
}
  1. Cloudflare ダッシュボードで Custom Hostnames ページを開きます。

    Custom Hostnames を開く ↗
  2. ホスト名を選びます。

  3. Certificate validation TXT nameCertificate validation TXT value の値をコピーします。

以前に ワイルドカード カスタムホスト名を作成していた場合は、検証用 TXT レコード 2 件の値をコピーする必要があります。

2. 顧客と共有する

これらの TXT トークンを顧客と共有する必要があります。

3. DNS レコードを追加する(顧客)

お客様は、権威 DNS プロバイダーの "_acme-challenge" DNS ラベル配下に、これらのレコードを配置してください。TXT レコードが置かれると、検証と証明書の発行は自動で完了します。

即時再チェックを依頼する場合は、次の再試行を待つのではなく、最初の POST リクエストと同じ値で PATCH リクエスト を送ります。

4. (任意)新しいトークンを取得する

DCV トークンは、認証局によって 一定時間 で期限切れになります。

そのため、顧客が権威 DNS プロバイダーへのトークン配置に時間がかかりすぎた場合は、新しいトークンを取得 して、再度顧客と共有する必要があります。

役に立ちましたか?