Preguntas frecuentes
La siguiente información responde a las preguntas más frecuentes sobre la solicitud y la implementación de la compatibilidad con CNAME en Target:
¿Puedo proporcionar mi propio certificado (Traer su propio certificado o BYOC)?
Puede proporcionar su propio certificado. Sin embargo, Adobe no recomienda esta práctica. La administración del ciclo de vida del certificado SSL es más sencilla tanto para Adobe como para usted si Adobe compra y controla el certificado. Los certificados SSL deben renovarse cada año. Por lo tanto, Adobe Client Care debe ponerse en contacto con usted cada año para obtener un nuevo certificado de forma oportuna. Algunos clientes pueden tener dificultades para producir un certificado renovado de manera oportuna. La implementación de Target se pone en peligro cuando caduca el certificado porque los exploradores rechazan las conexiones.
¿Cuánto falta para que caduque mi nuevo certificado SSL?
Todos los certificados adquiridos por Adobe son válidos durante un año. Consulte el artículo de DigiCert sobre certificados de 1 año para obtener más información.
¿Qué nombres de host debo elegir? ¿Cuántos nombres de host por dominio debo elegir?
Las implementaciones de CNAME de Target solo requieren un nombre de host por dominio en el certificado SSL y en el DNS del cliente. Adobe recomienda un nombre de host por dominio. Algunos clientes requieren más nombres de host por dominio para sus propios fines (como probar en el ensayo), lo cual es compatible.
La mayoría de los clientes elige un nombre de host como target.example.com
. Adobe recomienda seguir esta práctica, pero la opción es, en última instancia, suya. No solicite un nombre de host de un registro DNS existente. Al hacerlo, se genera un conflicto y se retrasa el tiempo de resolución de la solicitud CNAME Target.
Ya tengo una implementación CNAME para Adobe Analytics, ¿puedo utilizar el mismo certificado o nombre de host?
No, Target requiere un nombre de host y un certificado independientes.
¿Se ve afectada mi implementación actual de Target por ITP 2.x?
Apple Intelligent Tracking Prevention (ITP) versión 2.3 ha introducido su función de mitigación de ocultación CNAME, que puede detectar implementaciones CNAME de Target y reduce la caducidad de la cookie a siete días. Actualmente Target no cuenta con una solución alternativa para la mitigación de encubrimiento CNAME de ITP. Para obtener más información sobre ITP, consulte Prevención inteligente del seguimiento de Apple (ITP) 2.x.
¿Qué tipo de interrupciones de servicio puedo esperar cuando se implementa mi implementación CNAME?
No hay interrupciones en el servicio cuando se implementa el certificado (incluidas las renovaciones de certificados).
Sin embargo, después de cambiar el nombre de host en el código de implementación de Target (serverDomain
en at.js) por el nuevo nombre de host CNAME (target.example.com
), los exploradores web tratan a los visitantes que regresan como nuevos visitantes. Los datos de perfil de los visitantes que regresan se pierden porque no se puede obtener acceso a la cookie anterior con el nombre de host anterior (clientcode.tt.omtrdc.net
). No se puede acceder a la cookie anterior debido a los modelos de seguridad del explorador. Esta interrupción se produce únicamente en la transición inicial al nuevo CNAME. Las renovaciones de certificados no tienen el mismo efecto porque el nombre de host no cambia.
¿Qué tipo de clave y algoritmo de firma de certificado se utiliza para mi implementación CNAME?
De forma predeterminada, todos los certificados son RSA SHA-256 y las claves son RSA de 2048 bits. Los tamaños de clave superiores a 2048 bits deben solicitarse explícitamente a través de Customer Care.
¿Cómo puedo validar que mi implementación CNAME está lista para el tráfico?
Utilice el siguiente conjunto de comandos (en el terminal de línea de comandos de macOS o Linux, utilizando bash y curl >=7.49):
-
Copie y pegue esta función bash en su terminal, o pegue la función en su archivo de script de inicio bash (normalmente
~/.bash_profile
o~/.bashrc
) para que la función esté disponible entre sesiones de terminal: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 }
-
Pegue este comando (reemplazando
target.example.com
con su nombre de host):adobeTargetCnameValidation target.example.com
Si la implementación está lista, verá el resultado como se muestra a continuación. Lo importante es que todas las líneas de estado de validación muestren
✅
en lugar de🚫
. Cada recurso compartido CNAME de Edge de Target debe mostrarCN=target.example.com
, que coincide con el nombre de host principal del certificado solicitado (los nombres de host de SAN adicionales del certificado no se imprimen en esta salida).$ 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 G Suite Toolbox para buscar los TTL específicos. Para comprobar la propagación de DNS por todo el mundo, vea whatsmydns.net.