SaaS プロバイダーとしては、Cloudflare ダッシュボード ↗ ではなく API で Cloudflare for SaaS を設定・管理したいことがあります。以下は、カスタムホスト名の作成・編集・削除と、Fallback Origin の監視・更新・削除に使う API 呼び出しです。詳細は Cloudflare API ドキュメント を参照してください。
| エンドポイント | 補足 |
|---|---|
| List custom hostnames | 追加ページを取得するには page パラメーターを使います。特定のホスト名を探すには hostname パラメーターを追加します。 |
| Create custom hostname | レスポンスの validation_records オブジェクトにある txt_name と txt_record を使い、カスタムホスト名を検証します。 |
| Custom hostname details | ホスト名の有効化と証明書のステータスを確認するときに使います。 |
| Edit custom hostname | 既存値と同じ ssl オブジェクトを付けて送ると、そのホスト名の Domain Control Validation(DCV)を再開します。 |
| Delete custom hostname | 関連する SSL/TLS 証明書も削除されます。 |
カスタムホスト名の設定が完了しているかを確認するには、Custom hostname details エンドポイント のレスポンスにある、次の 2 つのステータスフィールドを確認します。
| API フィールド | 意味 | 準備完了の値 |
|---|---|---|
result.status |
ホスト名の有効化ステータスです。Cloudflare がカスタムホスト名を検証し、有効化したかどうかを示します。 | active |
result.ssl.status |
証明書のステータスです。ホスト名の SSL/TLS 証明書の発行とデプロイが完了したかどうかを示します。 | active |
result.status が active、result.ssl.status が active で、顧客の DNS が CNAME ターゲットまたは apex プロキシのターゲットを向いているとき、そのカスタムホスト名は本番 HTTPS に使える状態です。
result.status が active でも result.ssl.status が active でない場合、ホスト名は有効ですが、証明書の発行とデプロイはまだ完了していません。TLS ハンドシェイクが成功しただけでは、カスタムホスト名の証明書のプロビジョニング完了を意味しません。Cloudflare がそのホスト名に対して、別の一致する証明書を提示することがあるためです。詳細は 証明書とホスト名の優先度 を参照してください。
Create custom hostname エンドポイント を使うときは、ssl.method を http、txt、email のいずれか 1 つにします。ワイルドカード以外のカスタムホスト名では、ホスト名が SaaS ターゲットを向いたあと、TXT 検証を選んでいても、Cloudflare は常に HTTP 証明書検証 を試します。
API には、カスタムホスト名の Fallback Origin に関する次のエンドポイントがあります。