よくある質問
次の情報では、Target での CNAME サポートのリクエストと実装に関するよくある質問に回答します。
自分の証明書(Bring Your Own Certificate または BYOC)を提供できますか?
独自の証明書を指定できます。 ただし、Adobeではこの方法をお勧めしません。 Adobeと、Adobeが証明書を購入して制御する場合の両方で、SSL 証明書のライフサイクルの管理が容易になります。 SSL 証明書は、毎年更新する必要があります。 したがって、Adobe Client Care は、新しい証明書をタイムリーに取得するために、毎年あなたに連絡する必要があります。 一部のお客様では、更新された証明書をタイムリーに生成することが困難な場合があります。 ブラウザーが接続を拒否するので、証明書の有効期限が切れると、Target の実装が危険になります。
新しい SSL 証明書が期限切れになるまでの期間はどのくらいですか?
Adobeで購入した証明書はすべて 1 年間有効です。 詳しくは、1 年証明書に関する DigiCert の記事を参照してください。
どのホスト名を選択すればよいですか? ドメインごとに何個のホスト名を選択すればよいですか?
Target CNAME 実装では、SSL 証明書とお客様の DNS で、ドメインごとに 1 つのホスト名のみが必要です。 Adobeでは、ドメインごとに 1 つのホスト名を使用することをお勧めします。 一部のお客様は、独自の目的(ステージングでのテストなど)のために、ドメインごとに多くのホスト名を必要とします。これはサポートされています。
ほとんどのお客様は、target.example.com
のようなホスト名を選択しています。 Adobeでは、この方法に従うことをお勧めしますが、最終的には選択はあなた次第です。 既存の DNS レコードのホスト名は要求しないでください。 これにより、競合が発生し、Target CNAME 要求の解決に時間がかかる可能性があります。
Adobe Analytics用の CNAME 実装は既にありますが、同じ証明書またはホスト名を使用できますか?
いいえ、別 Target ホスト名と証明書が必要です。
Target の現在の実装は ITP 2.x の影響を受けますか?
Apple Intelligent Tracking Prevention (ITP)バージョン 2.3 では、CNAME クローキング軽減機能が導入されました。この機能は、Target CNAME 実装を検出し、cookie の有効期限を 7 日に短縮できます。 現在、Target には ITP の CNAME クローク軽減策がありません。 ITP について詳しくは、Apple インテリジェント トラッキング防止機能(ITP) 2.x を参照してください。
CNAME 実装がデプロイされた場合、どのようなサービスの中断が予想されますか?
証明書がデプロイされる際(証明書の更新を含む)に、サービスの中断はありません。
ただし、Target 実装コードのホスト名(at.js で serverDomain
)を新しい CNAME ホスト名(target.example.com
)に変更すると、web ブラウザーは再訪問者を新しい訪問者として扱います。 古いホスト名(clientcode.tt.omtrdc.net
)では以前の cookie にアクセスできないので、再訪問者のプロファイルデータは失われます。 ブラウザーのセキュリティモデルが原因で、以前の cookie にアクセスできません。 この問題は、新しい CNAME への最初のカットオーバーでのみ発生します。 ホスト名は変更されないので、証明書の更新による影響は同じではありません。
CNAME 実装で使用されるキーの種類と証明書の署名アルゴリズムは何ですか?
すべての証明書は RSA SHA-256 で、キーはデフォルトで RSA 2048 ビットです。 2048 ビットを超えるキーサイズは、現在サポートされていません。
CNAME 実装がトラフィックに対して準備されていることを検証するにはどうすればよいですか?
次の一連のコマンドを使用します(macOSまたは Linux コマンドラインターミナルで、bash と curl >=7.49 を使用)。
-
この bash 関数をコピーして端末に貼り付けるか、bash 起動スクリプトファイル(通常は
~/.bash_profile
または~/.bashrc
)に貼り付けて、端末セッション全体で関数を使用できるようにします。function adobeTargetCnameValidation { local hostname="$1" if [ -z "$hostname" ]; then echo "ERROR: no hostname specified" return 1 fi local service="Adobe Target CNAME implementation" local edges="41 42 44 45 46 47 48" local edgeDomain="tt.omtrdc.net" local edgeFormat="mboxedge%d%s.$edgeDomain" local poolDomain="pool.data.adobedc.net" local shards=5 local shardsFoundCount=0 local shardsFound="" local shardsFoundOutput="" local curlRegex="subject:.*CN=|expire date:|issuer:" local curlValidation="SSL certificate verify ok" local curlResponseValidation='"OK"' local curlEndpoint="/uptime?mboxClient=uptime3" local url="https://$hostname$curlEndpoint" local sslShopperUrl="https://www.sslshopper.com/ssl-checker.html#hostname=$hostname" local success="✅" local failure="🚫" local info="🔎" local rule="=" local horizontalRule="$(seq ${COLUMNS:-30} | xargs printf "$rule%.0s")" local miniRule="$(seq 5 | xargs printf "$rule%.0s")" local curlVersion="$(curl --version | head -1 | cut -d' ' -f2)" local curlVersionRequired=7.49 local edgeCount="$(wc -w <<< "$edges" | tr -d ' ')" local cnameExists="" local endToEndTestSucceeded="" for region in IRL1 IND1 SIN OR SYD VA TYO; do local currShard="${region}-${poolDomain}" local curlResult="$(curl -vsm20 --connect-to "$hostname:443:$currShard:443" "$url" 2>&1)" if grep -q "$curlValidation" <<< "$curlResult"; then shardsFound+=" $currShard" if grep -q "$curlResponseValidation" <<< "$curlResult"; then shardsFoundCount=$((shardsFoundCount+1)) shardsFoundOutput+="\n\n$miniRule $success $hostname [edge shard: $currShard] $miniRule\n" else shardsFoundOutput+="\n\n$miniRule $failure $hostname [edge shard: $currShard] $miniRule\n" fi shardsFoundOutput+="$(grep -E "$curlRegex" <<< "$curlResult" | sort)" if ! grep -q "$curlResponseValidation" <<< "$curlResult"; then shardsFoundOutput+="\nERROR: unexpected HTTP response from this shard using $url" fi fi done echo echo "$horizontalRule" echo echo "$service validation for hostname $hostname:" local dnsOutput="$(dig -t CNAME +short "$hostname" 2>&1)" if grep -qFi ".$edgeDomain" <<< "$dnsOutput"; then echo "$success $hostname passes DNS CNAME validation" cnameExists=true else echo -n "$failure $hostname FAILED DNS CNAME validation -- " if [ -n "$dnsOutput" ]; then echo -e "$dnsOutput is not in the subdomain $edgeDomain" else echo "required DNS CNAME record pointing to <target-client-code>.$edgeDomain not found" fi fi for region in IRL1 IND1 SIN OR SYD VA TYO; do local curlResult="$(curl -vsm20 --connect-to "$hostname:443:${region}-pool.data.adobedc.net:443" "https://$hostname$curlEndpoint" 2>&1)" if grep -q "$curlValidation" <<< "$curlResult"; then if grep -q "$curlResponseValidation" <<< "$curlResult"; then echo -en "$success $hostname passes TLS and HTTP response validation for region $region" if [ -n "$cnameExists" ]; then echo else echo " -- the DNS CNAME is not pointing to the correct subdomain for ${service}s with Adobe-managed certificates" \ "(bring-your-own-certificate implementations don't have this requirement), but this test passes as configured" fi endToEndTestSucceeded=true else echo -n "$failure $hostname FAILED HTTP response validation for region $region --" \ "unexpected response from $url -- " if [ -n "$cnameExists" ]; then echo "DNS is NOT pointing to the correct shard, notify Adobe Client Care" else echo "the required DNS CNAME record is missing, see above" fi fi else echo -n "$failure $hostname FAILED TLS validation for region $region -- " if [ -n "$cnameExists" ]; then echo "DNS is likely NOT pointing to the correct shard or there's a validation issue with the certificate or" \ "protocols, see curl output below and optionally SSL Shopper ($sslShopperUrl):" echo "" echo "$horizontalRule" echo "$curlResult" | sed 's/^/ /g' echo "$horizontalRule" echo "" else echo "the required DNS CNAME record is missing, see above" fi fi done if [ "$shardsFoundCount" -ge "$edgeCount" ]; then echo -n "$success $hostname passes shard validation for the following $shardsFoundCount edge shards:" echo -e "$shardsFoundOutput" echo if [ -n "$cnameExists" ] && [ -n "$endToEndTestSucceeded" ]; then echo "$horizontalRule" echo "" echo " For additional TLS/SSL validation, see SSL Shopper:" echo "" echo " $info $sslShopperUrl" echo "" echo " To check DNS propagation around the world, see whatsmydns.net:" echo "" echo " $info DNS A records: https://whatsmydns.net/#A/$hostname" echo " $info DNS CNAME record: https://whatsmydns.net/#CNAME/$hostname" fi else echo -n "$failure $hostname FAILED shard validation -- shards found: $shardsFoundCount," \ "expected: $edgeCount" echo "" fi echo echo "$horizontalRule" echo }
-
次のコマンドを貼り付けます(
target.example.com
をホスト名に置き換えます)。adobeTargetCnameValidation target.example.com
実装の準備が整ったら、次のような出力が表示されます。 重要な部分は、すべての検証ステータス行に
🚫
ではなく✅
が表示されることです。 各 Target Edge CNAME シャードは、要求された証明書のプライマリ ホスト名に一致するCN=target.example.com
を表示する必要があります(この出力には、証明書の追加の SAN ホスト名は出力されません)。$ adobeTargetCnameValidation target.example.com ========================================================== Adobe Target CNAME implementation validation for hostname target.example.com: ✅ target.example.com passes DNS CNAME validation ✅ target.example.com passes TLS and HTTP response validation for region IRL1 ✅ target.example.com passes TLS and HTTP response validation for region IND1 ✅ target.example.com passes TLS and HTTP response validation for region SIN ✅ target.example.com passes TLS and HTTP response validation for region OR ✅ target.example.com passes TLS and HTTP response validation for region SYD ✅ target.example.com passes TLS and HTTP response validation for region VA ✅ target.example.com passes TLS and HTTP response validation for region TYO ✅ target.example.com passes shard validation for the following 7 edge shards: ===== ✅ target.example.com [edge shard: IRL1-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: IND1-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: SIN-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: OR-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: SYD-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: VA-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ===== ✅ target.example.com [edge shard: TYO-pool.data.adobedc.net] ===== * expire date: Feb 20 23:59:59 2026 GMT * issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1 * subject: C=US; ST=California; L=San Jose; O=Adobe Systems Incorporated; CN=target.example.com ========================================================== For additional TLS/SSL validation, see SSL Shopper: 🔎 https://www.sslshopper.com/ssl-checker.html#hostname=target.example.com To check DNS propagation around the world, see whatsmydns.net: 🔎 DNS A records: https://whatsmydns.net/#A/target.example.com 🔎 DNS CNAME record: https://whatsmydns.net/#CNAME/target.example.com
dig target.example.com
コマンドまたは G Suite ツールボックスを使用して、特定の TTL を検索できます。 世界中での DNS の伝播を確認するには、whatsmydns.net を参照してください。