Skip to content

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

事前検証

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

事前検証は、顧客のトラフィックが Cloudflare 経由でプロキシされる前に、ドメインの所有権を確認するのに役立ちます。

使う場面

事前検証は、顧客がダウンタイムを許容できない場合に使います。本番ドメインでよくある状況です。

一方で、顧客側に追加の設定作業が必要です。すでに 証明書の検証 のためにドメインへ何か追加してもらう必要がある場合、事前検証はオンボーディングを複雑にする可能性があります。

顧客が多少のダウンタイムを許容でき、設定を簡潔にしたい場合は、リアルタイム検証 を確認してください。

手順

TXT レコード

TXT 検証では、顧客が権威 DNS に TXT レコードを追加して、ドメインの所有権を確認します。

TXT 検証を設定するには:

  1. カスタムホスト名を作成 したとき、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"
        }
    ]
    }
  2. 顧客に、その namevalue を権威 DNS プロバイダーで TXT レコードとして追加してもらいます。

  3. 数分後、UI でホスト名のステータスが Active になります。

  4. カスタムホスト名を有効にしたあと、顧客は TXT レコードを削除できます。

HTTP トークン

HTTP 検証では、あなたまたは顧客がオリジンサーバーに HTTP トークンを置き、ドメインの所有権を確認します。

HTTP 検証を設定するには:

API で カスタムホスト名を作成 すると、レスポンスに HTTP の ownership_verification レコードが返ります。

ownership_verification レコードを取得して使うには:

  1. Custom Hostname を作成 する API を呼び出します。

  2. レスポンスの ownership_verification_http オブジェクトから http_urlhttp_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"
        }
      ]
    }
  3. 顧客に、オリジンの Web サーバーへ http_urlhttp_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 に送り、このトークンにアクセスします。

  4. 数分後、UI でホスト名のステータスが Active になります。

  5. ホスト名が active になったあと、顧客はオリジンサーバーからトークンを削除できます。

HTTP DCV による無停止移行

別プロバイダーですでに稼働しているホスト名をオンボードする場合、事前検証と手動 HTTP DCV を組み合わせると、無停止で移行できます。

  1. "ssl": {"method": "http", "type": "dv"} でカスタムホスト名を作成します。
  2. TXT レコードで ホスト名所有権の事前検証 を完了し、ホスト名を status: active にします。
  3. ssl.validation_records に HTTP DCV トークン(http_urlhttp_body のペア)が入るまで待ちます。
  4. 顧客に、現在稼働中のオリジンの http_url パスで DCV トークンを配信してもらいます。認証局は現在の DNS ターゲットに対して検証します。
  5. ssl.statusactive になると、ホスト名と証明書の準備が整います。
  6. 顧客は DNS の CNAME を SaaS ターゲットへ切り替えても、サービスは止まりません。証明書はすでに発行済みです。

役に立ちましたか?