Cloudflare は Salesforce Commerce Cloud と提携し、Salesforce Commerce Cloud のお客様の websites に、Cloudflare のパフォーマンスとセキュリティのメリットを提供します。
Salesforce Commerce Cloud をご利用で、かつ Cloudflare プランもある場合は、まずご自身の Cloudflare ゾーンで Web トラフィックをプロキシし、次に Salesforce Commerce Cloud(SaaS プロバイダー)のゾーンへ送ることができます。この構成は O2O と呼ばれます。
O2O のメリットは、Salesforce Commerce Cloud の environment 宛てのトラフィックに、WAF、Bot Management、Waiting Room など、自身の Cloudflare ゾーンのサービスと設定を適用できることです。
O2O が有効なときのトラフィック経路の詳細は、O2O の仕組み を参照してください。
O2O を有効にするには、次が必要です。
- SFCC 環境を "SFCC Proxy Zone" として構成する必要があります。現在 "SFCC Legacy Zone" の場合、O2O は有効にできません。
- SFCC 構成の種類については、SFCC Proxy Zone に関する Salesforce FAQ ↗ を参照してください。
- SFCC 環境を "SFCC Proxy Zone" へ移行する手順は、SFCC Legacy Zone から SFCC Proxy Zone への移行ガイド ↗ を参照してください。
- 独自の Cloudflare ゾーンが Enterprise プランであること。
上記を満たしていれば、ホスト名ごとに O2O を有効にできます。Cloudflare ゾーン内の特定ホスト名で O2O を有効にするには、SFCC の顧客がストアフロント環境を設定するダッシュボードである SFCC Business Manager が提供する CNAME をターゲットにした、プロキシ済み CNAME DNS レコードを 作成 します。
SFCC Business Manager が提供する CNAME は commcloud.prod-abcd-example-com.cc-ecdn.net のような形式で、3 つの部分からなります。SFCC へトラフィックを送るホスト名ごとに、例の CNAME の各部分を自分の SFCC 環境に合わせて更新してください。
- Environment:
prodはprod、dev、stgのいずれかに変更します。 - Realm:
abcdは、SFCC から割り当てられた Realm ID に変更します。 - Domain Name:
example-comは、ドメイン名をハイフン区切りにした形式に変更します。
| タイプ | 名前 | ターゲット | プロキシステータス |
|---|---|---|---|
CNAME |
<YOUR_HOSTNAME> |
commcloud.prod-abcd-example-com.cc-ecdn.net |
プロキシ済み |
O2O を正しく構成するには、プロキシ済み DNS レコードが SFCC の CNAME を 直接 指すようにします。自ゾーン内の別のプロキシ済み DNS レコードを経由して、間接的に SFCC の CNAME を指さないでください。
正しい構成
たとえば、SFCC へトラフィックを送るホスト名が www.example.com と preview.example.com の場合、Cloudflare ゾーンでは次が 正しい 構成です。
| タイプ | 名前 | ターゲット | プロキシステータス |
|---|---|---|---|
CNAME |
www.example.com |
commcloud.prod-abcd-example-com.cc-ecdn.net |
プロキシ済み |
CNAME |
preview.example.com |
commcloud.prod-abcd-example-com.cc-ecdn.net |
プロキシ済み |
誤った構成
次は 誤った 構成です。preview.example.com が、www.example.com のプロキシ済み DNS レコード経由で間接的に SFCC の CNAME を指しているため、ホスト名 preview.example.com では O2O が正しく有効になりません。
| タイプ | 名前 | ターゲット | プロキシステータス |
|---|---|---|---|
CNAME |
www.example.com |
commcloud.prod-abcd-example-com.cc-ecdn.net |
プロキシ済み |
CNAME |
preview.example.com |
www.example.com |
プロキシ済み |
Cloudflare ゾーン内のホスト名で O2O を有効にすると、そのホスト名のトラフィックに対する責任が増えます。各種 Cloudflare 製品を設定して、そのトラフィックに影響を与えられるようになるためです。O2O と互換性のある Cloudflare 製品の一部は次のとおりです。
互換製品の一覧と制限事項は、製品の互換性 を参照してください。
自身の Cloudflare ゾーンが Enterprise プランの場合、ゾーンホールド 機能を使えます。この機能は、ドメイン名が別の Cloudflare アカウントでゾーンとして作成されるのを防ぐトグルです。さらに、ゾーンホールドが有効な場合、Salesforce Commerce Cloud にオンボードしたカスタムホスト名の有効化も防げます。Salesforce Commerce Cloud は、カスタムホスト名に対して次のエラーメッセージを受け取ります。The hostname is associated with a held zone. Please contact the owner of this domain to have the hold removed.
Salesforce Commerce Cloud 上でカスタムホスト名を有効にするには、ゾーンの所有者が ゾーンホールドを一時的に解除 する必要があります。Salesforce Commerce Cloud にサブドメインだけをカスタムホスト名としてオンボードする場合は、Also prevent Subdomains というサブ機能だけを一時的に無効にします。
ゾーンホールドを一時的に無効にしたら、Salesforce Commerce Cloud の手順に従ってカスタムホスト名を更新します。これで有効になるはずです。
Salesforce Commerce Cloud のお客様で、特定のホスト名に O2O を有効にした独自の Cloudflare ゾーンを設定している場合、自ゾーンの問題を解決するには、Cloudflare のアカウントチームまたは Cloudflare サポート にお問い合わせください。
Cloudflare が解決できない技術的な問題がある場合は、Cloudflare が Salesforce Commerce Cloud に確認します。
Cloudflare Managed Certificate の有効化で SSL エラーが出た場合は、dig +short example.com CAA でドメインに CAA レコードがあるかを確認します。
CAA レコードがある場合は、Cloudflare が対応する認証局 による SSL 証明書の発行が許可されているかを確認します。
- Minimum TLS version を TLS 1.2 に設定します
- Edge Certificates ↗ ページを開き、下へスクロールして Minimum TLS Version を見つけ、TLS 1.2 に設定します。この設定は、ゾーン内のすべてのプロキシ済み DNS レコードに適用されます。
- SFCC Business Manager の Security Level に合わせます
- オプション 1: ゾーンレベル - Security の Settings ↗ ページを開き、Security Level を SFCC Business Manager の設定に合わせます。この設定は、Cloudflare ゾーン内のすべてのプロキシ済み DNS レコードに適用されます。
- オプション 2: プロキシ済み DNS レコードごと - SFCC 環境を指すプロキシ済み DNS レコードと、ゾーン内のほかのプロキシ済み DNS レコードで Security Level が異なる場合は、Configuration Rule で、SFCC 環境を指すプロキシ済み DNS レコードだけに Security Level を設定します。例:
- Rules Overview ↗ ページで、Configuration Rules の横の Create rule を選択し、新しい Configuration Rule を作成します。
- Rule name:
Match Security Level on SFCC hostnames - Field: Hostname
- Operator: is in(Value フィールドに指定した複数ホスト名に一致します)
- Value:
www.example.comdev.example.com - Security Level までスクロールし、+ Add を選択します
- Select Security Level: Medium(SFCC Business Manager の Security Level に合わせます)
- ページ下部までスクロールし、Deploy を選択します
- Rule name:
- Rules Overview ↗ ページで、Configuration Rules の横の Create rule を選択し、新しい Configuration Rule を作成します。
- Browser Integrity Check を無効にします
- オプション 1: ゾーンレベル - Security の Settings ↗ ページを開き、Browser Integrity Check をオフにします。この設定は、Cloudflare ゾーン内のすべてのプロキシ済み DNS レコードに適用されます。
- オプション 2: プロキシ済み DNS レコードごと - ゾーン内のほかのプロキシ済み DNS レコードでは Browser Integrity Check を有効のまま、SFCC 環境を指すプロキシ済み DNS レコードだけ無効にしたい場合は、ゾーンレベルの Browser Integrity Check は有効のまま、Configuration Rule で SFCC 環境向けホスト名だけ無効にします。例:
- Rules Overview ↗ ページで、Configuration Rules の横の Create rule を選択し、新しい Configuration Rule を作成します。
- Rule name:
Disable Browser Integrity Check on SFCC hostnames - Field: Hostname
- Operator: is in(Value フィールドに指定した複数ホスト名に一致します)
- Value:
www.example.comdev.example.com - Browser Integrity Check までスクロールし、+ Add ボタンを選択します。
- トグルを Off にします(灰色の X が表示されます)
- ページ下部までスクロールし、Deploy を選択します
- Rule name:
- Rules Overview ↗ ページで、Configuration Rules の横の Create rule を選択し、新しい Configuration Rule を作成します。
- SFCC 環境を指すプロキシ済み DNS レコードで Cache をバイパスします
- SFCC 環境(Realm)には、1 つ以上の SFCC Proxy Zone が含まれ、キャッシュは常にそこで行われます。ドメインに対応する SFCC Proxy Zone では SFCC 側がキャッシュを最適化するため、二重キャッシュを避けるには、SFCC 環境を指す自ゾーンのプロキシ済み DNS レコードでキャッシュをバイパスすることを推奨します。Cache Rule で設定できます。
- Cache Rule を作成しないと、自ゾーンと対応する SFCC Proxy Zone の両方でキャッシュされ、SFCC 環境でキャッシュを無効化またはパージしたときに問題が起きることがあります。
- SFCC 環境のキャッシュについては、SFCC の Content Cache ドキュメント ↗ を参照してください。
- Rules Overview ↗ ページで、Cache Rules の横の Create rule を選択し、新しい Cache Rule を作成します。
- Rule name:
Bypass cache on SFCC hostnames - Field: Hostname
- Operator: is in(Value フィールドに指定した複数ホスト名に一致します)
- Value:
www.example.comdev.example.com - Cache eligibility: Bypass cache を選択します。
- ページ下部までスクロールし、Deploy を選択します。
- Rule name:
- 任意 - SFCC Business Manager のカスタム証明書を、自分の Cloudflare ゾーンへアップロードします。
- SFCC Business Manager または SFCC CDN-API でアップロードしたカスタム証明書は、対応する SFCC Proxy Zone にあり、SFCC ストアフロントのホスト名で TLS 接続を終端します。そのため、同じカスタム証明書を自分の Cloudflare ゾーンへアップロードするかどうかは任意です。アップロードすると、Cloudflare アカウント内の特定ロールを持つユーザーが、カスタム証明書の期限切れ通知を受け取れます。詳細は カスタム証明書の更新 を参照してください。
- さらに、独自の Cloudflare ゾーンがあるため、Cloudflare の各種エッジ証明書製品を使え、同じ SAN をカバーする証明書が複数になることがあります。その場合、Cloudflare エッジでどの証明書を出すかは証明書の優先度処理で決まります。SFCC ストアフロントのホスト名が、SFCC Business Manager または SFCC CDN-API でアップロードしたものと違う証明書を提示している場合、原因はこの優先度処理であることが多いです。詳細は 証明書の優先度 を参照してください。