CNAME e Target
Instruções para trabalhar com o Atendimento ao Cliente do Adobe para implementar o suporte CNAME (Canonical Name) no Adobe Target. Use o CNAME para lidar com problemas de bloqueio de anúncios ou com políticas de cookies relacionadas a ITP (Intelligent Tracking Prevention). Com o CNAME, as chamadas são feitas para um domínio pertencente ao cliente, em vez de para um domínio pertencente a Adobe.
Solicitar suporte para CNAME em Target
-
Determine a lista de nomes de host necessários para seu certificado SSL (consulte as perguntas frequentes abaixo).
-
Preencha este formulário e inclua-o ao abrir um Adobe tíquete de Atendimento ao Cliente solicitando suporte para CNAME:
-
Código de cliente Adobe Target:
-
Nomes de host do certificado SSL (exemplo:
target.example.com target.example.org): -
Comprador de certificado SSL (Adobe é altamente recomendado, consulte Perguntas frequentes): Adobe/customer
-
Se o cliente estiver adquirindo o certificado, também conhecido como "Traga seu próprio certificado" (BYOC), preencha estes detalhes adicionais:
- Organização do certificado (exemplo: Example Company Inc):
- Unidade organizacional do certificado (opcional, por exemplo: Marketing):
- País do certificado (exemplo: EUA):
- Estado/região do certificado (exemplo: Califórnia):
- Cidade do certificado (exemplo: San Jose):
-
-
Para cada solicitação de nome de host, o Adobe criará a implementação e voltará com um nome de registro CNAME para você criar, que conterá uma sequência aleatória com o sufixo
tt.omtrdc.netPor exemplo, se você fez uma solicitação para
target.example.com, enviaremos de volta um CNAME no formato deabcdefgh.tt.omtrdc.net. Seu registro CNAME DNS deve ser semelhante a:code language-none target.example.com. IN CNAME abcdefgh.tt.omtrdc.net.note important IMPORTANT A autoridade de certificação de Adobe, DigiCert, não pode emitir um certificado até que esta etapa seja concluída. Portanto, o Adobe não pode atender à sua solicitação para uma implementação CNAME até que esta etapa seja concluída. -
Se Adobe estiver comprando o certificado, Adobe trabalhará com a DigiCert para comprar e implantar seu certificado nos servidores de produção do Adobe.
Se o cliente estiver comprando o certificado (BYOC), o Atendimento ao Cliente do Adobe enviará a você a CSR (solicitação de assinatura de certificado). Use a CSR ao adquirir o certificado por meio da autoridade de certificação de sua escolha. Depois que o certificado for emitido, envie uma cópia dele e de todos os certificados intermediários para o Atendimento ao Cliente do Adobe para implantação.
O Atendimento ao cliente do Adobe notifica quando a implementação está pronta.
-
Atualize a
serverDomain(documentação) para o novo nome de host CNAME e definaoverrideMboxEdgeServercomofalse(documentação) na sua configuração at.js.
Perguntas frequentes
As informações a seguir respondem perguntas frequentes sobre a solicitação e a implementação do suporte CNAME no Target:
Posso fornecer meu próprio certificado (Traga seu próprio certificado ou BYOC)?
Você pode fornecer seu próprio certificado. No entanto, Adobe recomenda esta prática. O gerenciamento do ciclo de vida do certificado SSL é mais fácil para Adobe e para você, se Adobe comprar e controlar o certificado. O tempo de vida dos certificados SSL só será reduzido (consulte a próxima seção sobre o tempo de vida do certificado). Portanto, o Atendimento ao Cliente do Adobe deve contatá-lo todas as vezes para obter um novo certificado em tempo hábil. Isso se tornará um desafio quando o tempo de vida do certificado for reduzido para apenas 47 dias. A implementação do Target fica comprometida quando o certificado expira porque os navegadores recusam conexões.
Quanto tempo até meu novo certificado SSL expirar?
O tempo de vida de todos os certificados diminuirá como parte de uma iniciativa importante das autoridades de certificação. Para DigiCert, o provedor de certificados de Adobe, a seguinte agenda será aplicada:
Até 15 de março de 2026, o tempo de vida máximo de um certificado TLS é de 398 dias.
A partir de 15 de março de 2026, o tempo de vida máximo de um certificado TLS será de 200 dias.
A partir de 15 de março de 2027, o tempo de vida máximo de um certificado TLS será de 100 dias.
A partir de 15 de março de 2029, o tempo de vida máximo de um certificado TLS será de 47 dias.
Para obter mais informações, consulte o artigo da DigiCert sobre como reduzir a duração do certificado
Quais nomes de host devo escolher? Quantos nomes de host por domínio devo escolher?
As implementações CNAME do Target exigem apenas um nome de host por domínio no certificado SSL e no DNS do cliente. Adobe recomenda um nome de host por domínio. Alguns clientes exigem mais nomes de host por domínio para suas próprias finalidades (teste em preparo, por exemplo), que são compatíveis.
A maioria dos clientes escolhe um nome de host como target.example.com. Adobe recomenda seguir esta prática, mas a escolha é sua. Não solicitar um nome de host de um registro DNS existente. Isso causa um conflito e atrasa a resolução da solicitação CNAME Target.
Já tenho uma implementação CNAME para Adobe Analytics. Posso usar o mesmo certificado ou nome de host?
Não, Target requer um nome de host e um certificado separados.
Minha implementação atual do Target é afetada pela ITP 2.x?
A Apple Intelligent Tracking Prevention (ITP) versão 2.3 apresentou o recurso de Mitigação de Camuflagem CNAME, que pode detectar Adobe Target implementações CNAME e reduz a expiração do cookie para sete dias. No momento, Target não tem uma solução alternativa para a Mitigação de Camuflagem CNAME da ITP. Para obter mais informações sobre a ITP, consulte Apple Intelligent Tracking Prevention (ITP) 2.x.
Que tipo de interrupção de serviço posso esperar quando minha implementação CNAME é implantada?
Não há interrupção do serviço quando o certificado é implantado (incluindo renovações de certificado).
No entanto, depois de alterar o nome do host no código de implementação Target (serverDomain na at.js) para o novo nome de host CNAME (target.example.com), os navegadores da Web tratam os visitantes recorrentes como novos visitantes. Os dados de perfil dos visitantes retornados são perdidos porque o cookie anterior está inacessível sob o nome de host antigo (clientcode.tt.omtrdc.net). O cookie anterior está inacessível devido aos modelos de segurança do navegador. Essa interrupção ocorre somente na transição inicial para o novo CNAME. As renovações de certificado não têm o mesmo efeito, pois o nome do host não é alterado.
Qual tipo de chave e algoritmo de assinatura de certificado é usado para minha implementação CNAME?
Todos os certificados são RSA SHA-256 e as chaves são RSA 2048-bit, por padrão. Tamanhos de chaves maiores que 2048 bits devem ser solicitados explicitamente pelo Atendimento ao cliente.
Como posso validar se minha implementação CNAME está pronta para o tráfego?
Use o seguinte conjunto de comandos (no terminal de linha de comando macOS ou Linux, usando bash e curl >=7.49):
- Copie e cole esta função bash no terminal ou cole a função no arquivo de script de inicialização bash (geralmente
~/.bash_profileou~/.bashrc) para que a função esteja disponível nas sessões 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
}
-
Cole este comando (substituindo
target.example.compelo seu nome de host):code language-none adobeTargetCnameValidation target.example.comSe a implementação estiver pronta, você verá a saída como abaixo. A parte importante é que todas as linhas de status de validação mostram
✅em vez de🚫. Cada fragmento CNAME de borda Target deve mostrarCN=target.example.com, que corresponde ao nome de host principal no certificado solicitado (nomes de host SAN adicionais no certificado não são impressos nesta saída).
$ 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 ou a Caixa de Ferramentas do G Suite para pesquisar seus TTLs específicos. Para verificar a propagação DNS pelo mundo, consulte whatsmydns.net.Como usar um link para opção de não participação com CNAME
Se você estiver usando CNAME, o link para opção de não participação deverá conter o parâmetro "client=clientcode", por exemplo:https://my.cname.domain/optout?client=clientcode.
Substitua clientcode com seu código de cliente e adicione o texto ou imagem a ser vinculado à URL de não participação.
Limitações conhecidas
- O modo de controle de qualidade não é aderente quando você tem CNAME e at.js 1.x porque ele se baseia em um cookie de terceiros. A solução alternativa é adicionar os parâmetros de pré-visualização a cada URL para o qual você navega. O modo de controle de qualidade é aderente quando você tem CNAME e at.js 2.x.
- Ao usar CNAME, fica mais provável que o tamanho do cabeçalho do cookie para chamadas Target aumente. O Adobe recomenda manter o tamanho do cookie abaixo de 8 KB.