CNAME e Target
Istruzioni per l'utilizzo di Adobe Client Care per implementare il supporto CNAME (Canonical Name) in Adobe Target. Utilizza CNAME per gestire i problemi di blocco degli annunci o i criteri dei cookie relativi a ITP (Intelligent Tracking Prevention). Con CNAME, le chiamate vengono effettuate a un dominio di proprietà del cliente anziché a un dominio di proprietà di Adobe.
Richiedi supporto CNAME in Target
-
Determina l’elenco di nomi host necessari per il certificato SSL (consulta le domande frequenti di seguito).
-
Compila questo modulo e includilo quando apri un Adobe ticket di assistenza clienti per richiedere il supporto CNAME:
-
Codice client Adobe Target:
-
Nomi host certificati SSL (esempio:
target.example.com target.example.org
): -
L'acquirente del certificato SSL (Adobe è vivamente consigliato, vedere Domande frequenti): Adobe/cliente
-
Se il cliente acquista il certificato, noto anche come "Bring Your Own Certificate" (BYOC), compila questi ulteriori dettagli:
- Organizzazione del certificato (esempio: Società di esempio S.p.a.):
- Unità organizzativa del certificato (facoltativo, esempio: Marketing):
- Paese del certificato (ad esempio, Stati Uniti):
- Stato/regione del certificato (esempio: California):
- Città certificato (esempio: San Jose):
-
-
Per ogni richiesta di nome host, Adobe creerà l'implementazione e restituirà un nome di record CNAME da creare, che conterrà una stringa casuale suffissata da
tt.omtrdc.net
Ad esempio, se hai effettuato una richiesta per
target.example.com
, ti restituiremo un CNAME sotto forma diabcdefgh.tt.omtrdc.net
. Il record CNAME DNS deve essere simile al seguente:code language-none target.example.com. IN CNAME abcdefgh.tt.omtrdc.net.
note important IMPORTANT L'autorità di certificazione di Adobe, DigiCert, non può rilasciare un certificato fino al completamento di questo passaggio. Pertanto, Adobe non può soddisfare la richiesta per un'implementazione CNAME fino al completamento di questo passaggio. -
Se Adobe sta acquistando il certificato, Adobe collabora con DigiCert per acquistare e distribuire il certificato sui server di produzione di Adobe.
Se il cliente acquista il certificato (BYOC), l'assistenza clienti Adobe ti invia la richiesta di firma del certificato (CSR, Certificate Signing Request). Utilizza la CSR quando acquisti il certificato tramite l’autorità di certificazione scelta. Dopo il rilascio del certificato, inviare una copia del certificato ed eventuali certificati intermedi all'assistenza clienti Adobe per la distribuzione.
Adobe L'Assistenza clienti ti avvisa quando l'implementazione è pronta.
-
Aggiorna la
serverDomain
(documentazione) al nuovo nome host CNAME e impostaoverrideMboxEdgeServer
sufalse
(documentazione) nella configurazione at.js.
Domande frequenti
Le informazioni seguenti rispondono alle domande frequenti sulla richiesta e l'implementazione del supporto CNAME in Target:
Posso fornire un certificato personalizzato (portare il certificato o il BYOC)?
Puoi fornire un certificato personalizzato. Tuttavia, Adobe consiglia vivamente di non seguire questa procedura. La gestione del ciclo di vita del certificato SSL è più semplice sia per Adobe che per te, se Adobe acquista e controlla il certificato. La durata dei certificati SSL sarà solo più breve nel tempo (consulta la sezione successiva sulla durata del certificato). Pertanto, l'Assistenza clienti Adobe deve contattarti ogni volta per ottenere un nuovo certificato in modo tempestivo. Questo si rivelerà un problema se la durata del certificato verrà ridotta a soli 47 giorni. L'implementazione di Target è a rischio alla scadenza del certificato perché i browser rifiutano le connessioni.
Quanto tempo manca alla scadenza del mio nuovo certificato SSL?
La durata di tutti i certificati verrà ridotta nell’ambito di un’importante iniziativa delle autorità di certificazione. Per DigiCert, il provider di certificati di Adobe, verrà applicata la seguente pianificazione:
Fino al 15 marzo 2026, la durata massima di un certificato TLS è di 398 giorni.
A partire dal 15 marzo 2026, la durata massima di un certificato TLS sarà di 200 giorni.
A partire dal 15 marzo 2027, la durata massima di un certificato TLS sarà di 100 giorni.
A partire dal 15 marzo 2029, la durata massima di un certificato TLS sarà di 47 giorni.
Per ulteriori informazioni, vedere l'articolo di DigiCert sulla riduzione della durata dei certificati
Quali nomi host scegliere? Quanti nomi host scegliere per dominio?
Target implementazioni CNAME richiedono un solo nome host per dominio sul certificato SSL e nel DNS del cliente. Adobe consiglia un nome host per dominio. Alcuni clienti richiedono più nomi host per dominio per i propri scopi (ad esempio, test nella gestione temporanea), che è supportato.
La maggior parte dei clienti sceglie un nome host come target.example.com
. Adobe consiglia di seguire questa procedura, ma la scelta è in definitiva tua. Non richiedere un nome host di un record DNS esistente. Questa operazione causa un conflitto e ritarda il tempo di risoluzione della richiesta CNAME di Target.
Ho già un'implementazione CNAME per Adobe Analytics, posso usare lo stesso certificato o nome host?
No, Target richiede un nome host e un certificato separati.
La mia implementazione corrente di Target è interessata da ITP 2.x?
La versione 2.3 di Apple Intelligent Tracking Prevention (ITP) ha introdotto la funzione di mitigazione del cloaking CNAME, che è in grado di rilevare Adobe Target implementazioni CNAME e riduce la scadenza del cookie a sette giorni. Attualmente Target non dispone di alcuna soluzione alternativa per la mitigazione del cloaking CNAME di ITP. Per ulteriori informazioni su ITP, vedere Apple Intelligent Tracking Prevention (ITP) 2.x.
Che tipo di interruzioni del servizio posso aspettarmi quando viene implementata la mia implementazione CNAME?
Non si verifica alcuna interruzione del servizio quando il certificato viene distribuito (inclusi i rinnovi del certificato).
Tuttavia, dopo aver modificato il nome host nel codice di implementazione Target (serverDomain
in at.js) nel nuovo nome host CNAME (target.example.com
), i browser Web considerano i visitatori di ritorno come nuovi visitatori. I dati di profilo dei visitatori di ritorno andranno persi perché il cookie precedente non è accessibile con il vecchio nome host (clientcode.tt.omtrdc.net
). Il cookie precedente non è accessibile a causa di modelli di sicurezza del browser. Questa interruzione si verifica solo al cut-over iniziale al nuovo CNAME. I rinnovi del certificato non hanno lo stesso effetto perché il nome host non cambia.
Quale tipo di chiave e algoritmo di firma del certificato sono utilizzati per l’implementazione del CNAME?
Per impostazione predefinita, tutti i certificati sono RSA SHA-256 e le chiavi sono RSA 2048 bit. Le dimensioni delle chiavi superiori a 2048 bit devono essere richieste esplicitamente tramite l’Assistenza clienti.
Come posso verificare che la mia implementazione CNAME sia pronta per il traffico?
Utilizza il seguente set di comandi (nel terminale della riga di comando macOS o Linux, utilizzando bash e curl >=7.49):
- Copiare e incollare la funzione bash nel terminale o incollarla nel file dello script di avvio bash (in genere
~/.bash_profile
o~/.bashrc
) in modo che la funzione sia disponibile nelle sessioni terminale:
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
}
-
Incolla questo comando (sostituendo
target.example.com
con il tuo nome host):code language-none adobeTargetCnameValidation target.example.com
Se l’implementazione è pronta, viene visualizzato un output simile al seguente. La parte importante è che tutte le righe dello stato di convalida mostrano
✅
anziché🚫
. Ogni partizione CNAME edge Target deve mostrareCN=target.example.com
, che corrisponde al nome host primario nel certificato richiesto (in questo output non vengono stampati nomi host SAN aggiuntivi nel certificato).
$ 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
o la Casella degli strumenti di G Suite per cercare i TTL specifici. Per verificare la propagazione del DNS in tutto il mondo, vedere whatsmydns.net.Come si utilizza un collegamento di rinuncia con CNAME
Se utilizzi CNAME, il collegamento di rinuncia deve contenere il parametro "client=clientcode
, ad esempio:https://my.cname.domain/optout?client=clientcode
.
Sostituisci clientcode
con il tuo codice client, quindi aggiungi il testo o l'immagine da collegare all'URL di rinuncia.
Limitazioni note
- La modalità di controllo qualità non è definitiva se si dispone di CNAME e at.js 1.x, in quanto si basa su un cookie di terze parti. La soluzione consiste nell’aggiungere i parametri di anteprima a ogni URL a cui accedi. La modalità di controllo qualità è persistente quando si dispone di CNAME e at.js 2.x.
- Quando si utilizza CNAME, è più probabile che la dimensione dell'intestazione del cookie per le chiamate Target aumenti. Adobe consiglia di mantenere le dimensioni del cookie inferiori a 8 KB.