> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-fix-docs-5528-php-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflareをリバースプロキシとして構成する

> Auth0のカスタムドメインプロキシとしてCloudflareをセットアップする方法について説明します。

<Card title="利用可能性はAuth0プランによって異なる">
  この機能が利用できるかどうかは、ご利用のAuth0プラン（または契約）によります。詳細については、「[Auth0の価格設定](https://auth0.com/pricing)」ページを参照してください。
</Card>

推奨される方法を使ってCloudflareをリバースプロキシとしてセットアップするには、以下の機能を備えたCloudflareのEnterpriseプランが必要です。

| 機能                 | 説明                                                                                                                                                                                                                                            |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ホストヘッダーの上書き        | 異なるCloudflareルールを使ってホストヘッダーを上書きします。詳細については、「[Cloudflareドキュメントでホストヘッダーを上書きする](https://support.cloudflare.com/hc/en-us/articles/206652947-Using-Page-Rules-to-Re-Write-Host-Headers)」をお読みください。                                                  |
| True-Client-IPヘッダー | True-Client-IPヘッダーを有効にすると、True-Client-IPヘッダーがオリジンサーバーへのすべての要求に追加され、これにはエンドユーザーのIPアドレスが含まれます。詳細については、「[CloudflareドキュメントのTrue-Client-IPヘッダーを理解する](https://support.cloudflare.com/hc/en-us/articles/206776727-What-is-True-Client-IP-)」をお読みください。 |

## Cloudflareを構成する

<Warning>
  前提条件として、選択したカスタムドメインの親ドメインが[Cloudflareダッシュボード内に追加され、有効になっている](https://developers.cloudflare.com/learning-paths/get-started/add-domain-to-cf/minimize-downtime/#activate-your-domain)必要があります。また、目的のカスタムドメインがCloudflareゾーン内にまだ存在していないことを確認してください。既に存在している場合には、Cloudflareの検証が失敗します。
</Warning>

Cloudflareをリバースプロキシとして構成するには、CloudflareでCNAMEレコード、ページルール、変換ルールを作成する必要があります。

1. [カスタムドメインを構成して自己管理証明書を使って検証する](https://auth0.com/docs/customize/custom-domains/self-managed-certificates)作業がまだ済んでいない場合は、ここで行います。 **［Origin Domain Name（オリジンのドメイン名）］** と **cname-api-key** の値が後で必要になるのでメモしておきます。
2. 目的のゾーンのCloudflareダッシュボードで、以下の設定の[CNAMEレコードを作成](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/#create-dns-records)します。

   | 設定                       | 値                                   |
   | ------------------------ | ----------------------------------- |
   | Name（名前）                 | カスタムドメイン名。                          |
   | Target（ターゲット）            | 以前記録した\_\_Origin Domain Name\_\_の値。 |
   | Proxy Status（プロキシのステータス） | `Proxied`                           |
3. 以下の設定で、選択したカスタムドメインすべてのURLを対象とする[ページルールを作成](https://support.cloudflare.com/hc/en-us/articles/200172336-Creating-Page-Rules)します。

   | 設定                                    | 値                                   |
   | ------------------------------------- | ----------------------------------- |
   | Host Header Override（ホストヘッダーのオーバーライド） | 以前記録した\_\_Origin Domain Name\_\_の値。 |
   | True-Client-IP                        | `Enable`                            |
4. [変換ルールを作成](https://developers.cloudflare.com/rules/transform/request-header-modification/create-dashboard/)します。

   1. **［要求ヘッダーを修正する］** ビューに切り替えます。
   2. **［ルールを作成］** を選択して、任意の名前を入力します。
   3. **［受信要求が一致する場合］** の下にある **［カスタムフィルター式］** を選択し、選択したカスタムドメインと紐づけられた要求にルールのスコープを定める式を設定します。たとえば、 **［ホスト名］** フィールドに完全一致を使用します。
   4. ［要求ヘッダーを修正する］で、 **［スタティック設定］** を選択し、以下のフィールドを設定します。

      \| フィールド | 値 |
      \| --- | --- |
      \| Header name（ヘッダー名） | `cname-api-key` |
      \| Value（値） | 以前記録した\_\_cname-api-key\_\_の値。 |
5. [［常にHTTPSを使用］](https://developers.cloudflare.com/ssl/edge-certificates/additional-options/always-use-https/)が有効で、選択したカスタムドメインの[［暗号化モード］](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/)が少なくとも **［フル］** に設定されていることを確認します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  自己管理証明書を使ったカスタムドメインに適したリバースプロキシをセットアップするために、Page RulesやTransform RulesではなくCloudflare Workersを使うことは可能です。しかし、ルールベースの方法を採用してカスタムコードを不要にすることをお勧めします。
</Callout>

## Auth0を構成する

以下のペイロードを本文に含むAuth0 <Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=management-api" tip="Management API: 顧客が管理タスクを実行できるようにするための製品。" cta="用語集の表示">Management API</Tooltip>の[カスタムドメイン構成の更新](https://auth0.com/docs/api/management/v2#!/Custom_Domains/patch_custom_domains_by_id)エンドポイントを呼び出します。

```json lines theme={null}
{
  "custom_client_ip_header": "true-client-ip"
}
```

## もっと詳しく

* [機能にカスタムドメインの使用を構成する](/docs/ja-jp/customize/custom-domains/configure-features-to-use-custom-domains)
* [カスタムドメインのトラブルシューティング](/docs/ja-jp/troubleshoot/integration-extensibility-issues/troubleshoot-custom-domains)
* [TLS（SSL）のバージョンと暗号](/docs/ja-jp/customize/custom-domains/self-managed-certificates/tls-ssl)
