CNAME en Target

Instructies voor het werken met Adobe Client Care om ondersteuning voor CNAME (Canonical Name) te implementeren in Adobe Target . Gebruik CNAME om problemen met of beleid voor ITP-cookies (Intelligent Tracking Prevention) te verwerken en te blokkeren. Met CNAME worden aanroepen uitgevoerd naar een domein dat eigendom is van de klant in plaats van naar een domein dat eigendom is van Adobe .

Ondersteuning voor CNAME aanvragen in Target

  1. Bepaal de lijst met hostnamen die u nodig hebt voor uw SSL-certificaat (zie de Veelgestelde vragen hieronder).

  2. ​ Vul deze vorm ​ in en omvat het wanneer u ​ een Adobe kaartje van de Zorg van de Cliënt die CNAME om steun verzoekt ​:

    • Adobe Target clientcode:

    • SSL-certificaathostnamen (bijvoorbeeld: target.example.com target.example.org):

    • Aankoper van SSL-certificaten (Adobe wordt ten zeerste aanbevolen, zie Veelgestelde vragen): Adobe/klant

    • Als de klant het certificaat aanschaft, ook wel 'Create Your Own Certificate' (BYOC) genoemd, voert u de volgende aanvullende gegevens in:

      • Certificaatorganisatie (bijvoorbeeld: Example Company Inc):
      • Organisatorische eenheid certificaat (optioneel, bijvoorbeeld: Marketing):
      • Certificaatland (voorbeeld: VS):
      • Certificaatstatus/regio (bijvoorbeeld: Californië):
      • Plaats van certificaat (voorbeeld: San Jose):
  3. Voor elke hostnaamaanvraag maakt Adobe de implementatie en wordt er een CNAME-recordnaam voor u gemaakt die een willekeurige tekenreeks bevat met het achtervoegsel tt.omtrdc.net .

    Als u bijvoorbeeld een aanvraag voor target.example.com hebt ingediend, sturen we u een CNAME terug in de vorm van abcdefgh.tt.omtrdc.net . Uw DNS CNAME-record moet er ongeveer als volgt uitzien:

    code language-none
    target.example.com.  IN  CNAME  abcdefgh.tt.omtrdc.net.
    
    note important
    IMPORTANT
    De certificeringsinstantie van Adobe, DigiCert, kan pas een certificaat uitgeven nadat deze stap is voltooid. Daarom kan Adobe uw verzoek om een implementatie CNAME niet vervullen tot deze stap volledig is.
  4. Als Adobe het certificaat aanschaft, werkt Adobe samen met DigiCert om uw certificaat aan te schaffen en te implementeren op de productieservers van Adobe .

    Als de klant het certificaat (BYOC) aanschaft, verzendt de Zorg van de Cliënt Adobe u het certificaat ondertekenend verzoek (CSR). Gebruik de CSR wanneer u het certificaat aanschaft via de gekozen certificeringsinstantie. Nadat het certificaat is uitgegeven, verzendt u een kopie van het certificaat en eventuele tussenliggende certificaten naar Adobe Client Care voor implementatie.

    Adobe De klantenzorg brengt u op de hoogte wanneer uw implementatie klaar is.

  5. Werk serverDomain (​ documentatie ​) bij aan nieuwe CNAME hostname en reeks overrideMboxEdgeServer aan false (​ documentatie ​) in uw configuratie at.js.

Veelgestelde vragen

De volgende informatie beantwoordt vaak gestelde vragen over het verzoeken en het uitvoeren van de steun van CNAME in Target:

Kan ik mijn eigen certificaat opgeven (breng uw eigen certificaat of BYOC)?

U kunt uw eigen certificaat opgeven. Adobe raadt echter sterk aan deze praktijk af te wijzen. Het beheer van de levenscyclus van het SSL-certificaat is zowel voor Adobe als voor u eenvoudiger als Adobe het certificaat aanschaft en beheert. SSL certificaatleven zal slechts korter in tijd worden (zie de volgende sectie over certificaatleven). Daarom moet de Adobe klantenservice u telkens raadplegen om een nieuw certificaat te verkrijgen. THis zal een uitdaging blijken te worden wanneer de levensduur van het certificaat tot slechts 47 dagen wordt beperkt. De implementatie van Target wordt in gevaar gebracht wanneer het certificaat verloopt omdat browsers geen verbinding maken.

IMPORTANT
Als u een CNAME-implementatie met een Target introductie-uw-eigen certificaat aanvraagt, bent u verantwoordelijk voor het opgeven van vernieuwde certificaten aan Adobe Client Care telkens wanneer deze verlopen. Als u toestaat dat uw CNAME-certificaat verloopt voordat Adobe een vernieuwd certificaat kan implementeren, resulteert dit in een stroomstoring voor uw specifieke Target -implementatie.

Hoe lang tot mijn nieuwe SSL certificaat verloopt?

De levensduur van alle certificaten wordt korter als onderdeel van een belangrijk initiatief van de certificeringsinstanties. Voor DigiCert, de certificaatprovider van Adobe , wordt het volgende schema toegepast:

Tot 15 maart 2026 bedraagt de maximale levensduur van een TLS-certificaat 398 dagen.
Vanaf 15 maart 2026 bedraagt de maximale levensduur van een TLS-certificaat 200 dagen.
Vanaf 15 maart 2027 bedraagt de maximale levensduur van een TLS-certificaat 100 dagen.
Vanaf 15 maart 2029 bedraagt de maximale levensduur van een TLS-certificaat 47 dagen.
Voor meer informatie, zie {het artikel van 0} DigiCert bij het verminderen van certificaatlevens 🔗

Welke hostnames moet ik kiezen? Hoeveel hostnames per domein zou ik moeten kiezen?

Target Voor CNAME-implementaties is slechts één hostnaam per domein vereist op het SSL-certificaat en in de DNS van de klant. Adobe raadt één hostnaam per domein aan. Sommige klanten vereisen meer hostnames per domein voor hun eigen doeleinden (bijvoorbeeld het testen in het opvoeren), wat wordt ondersteund.

De meeste klanten kiezen een hostnaam zoals target.example.com . Adobe raadt u aan deze procedure te volgen, maar uiteindelijk hebt u de keuze. Vraag geen hostname van een bestaand DNS verslag aan. Dit veroorzaakt een conflict en vertraagt tijd aan resolutie van uw Target verzoek CNAME.

Ik heb al een CNAME-implementatie voor Adobe Analytics. Kan ik hetzelfde certificaat of dezelfde hostnaam gebruiken?

Nee, Target vereist een aparte hostnaam en certificaat.

Heeft mijn huidige implementatie van Target gevolgen voor ITP 2.x?

Apple Intelligent Tracking Prevention (ITP) versie 2.3 introduceerde de CNAME Cloaking Mitigation-functie, waarmee Adobe Target CNAME-implementaties kunnen worden gedetecteerd en de vervaldatum van het cookie tot zeven dagen wordt teruggebracht. Target heeft momenteel geen oplossing voor de CNAME-camouflage van ITP. Voor meer informatie over ITP, zie ​ Intelligente het Volgen Preventie van Apple (ITP) 2.x ​.

Welk soort de dienstverstoringen kan ik verwachten wanneer mijn implementatie CNAME wordt opgesteld?

Er is geen de dienstverstoring wanneer het certificaat wordt opgesteld (met inbegrip van certificaatvernieuwingen).

Nadat u echter de hostnaam in de Target -implementatiecode (serverDomain in at.js) hebt gewijzigd in de nieuwe CNAME-hostnaam (target.example.com ), behandelen webbrowsers terugkerende bezoekers als nieuwe bezoekers. Het retourneren van bezoekersprofielgegevens gaat verloren omdat het vorige cookie niet toegankelijk is onder de oude hostnaam (clientcode.tt.omtrdc.net). De vorige cookie is niet toegankelijk vanwege beveiligingsmodellen van de browser. Deze verstoring komt slechts op de aanvankelijke besnoeiing-over aan nieuwe CNAME voor. Certificaatverlengingen hebben niet hetzelfde effect omdat de hostnaam niet verandert.

Welk zeer belangrijk type en algoritme van de certificaathandtekening voor mijn implementatie CNAME wordt gebruikt?

Alle certificaten zijn RSA SHA-256 en de sleutels zijn RSA 2048 beetje, door gebrek. Toetsgrootten die groter zijn dan 2048 bits, worden momenteel niet ondersteund.

Hoe kan ik bevestigen dat mijn implementatie CNAME klaar voor verkeer is?

Gebruik de volgende set opdrachten (in de opdrachtregelterminal van macOS of Linux, met bash en curl >=7.49):

  1. Kopieer en plak deze basfunctie in uw terminal, of plak de functie in het bash-opstartscriptbestand (meestal ~/.bash_profile of ~/.bashrc ) zodat de functie beschikbaar is in de verschillende eindsessies:

    code language-none
    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="31 32 34 35 36 37 38"
      local edgeDomain="tt.omtrdc.net"
      local edgeFormat="mboxedge%d%s.$edgeDomain"
      local shardFormat="-alb%02d"
      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 sslLabsUrl="https://ssllabs.com/ssltest/analyze.html?hideResults=on&latest&d=$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 edge
      local shard
      local currEdgeShard
      local dnsOutput
      local cnameExists
      local endToEndTestSucceeded
      local curlResult
    
      for shard in $(seq $shards); do
        if [ "$shardsFoundCount" -eq 0 ]; then
          for edge in $edges; do
            if [ "$shard" -eq 1 ]; then
              currEdgeShard="$(printf "$edgeFormat" "$edge" "")"
            else
              currEdgeShard="$(
                printf "$edgeFormat" "$edge" "$(
                  printf -- "$shardFormat" "$shard"
                )"
              )"
            fi
            curlResult="$(curl -vsm20 --connect-to "$hostname:443:$currEdgeShard:443" "$url" 2>&1)"
            if grep -q "$curlValidation" <<< "$curlResult"; then
              shardsFound+=" $currEdgeShard"
              if grep -q "$curlResponseValidation" <<< "$curlResult"; then
                shardsFoundCount=$((shardsFoundCount+1))
                shardsFoundOutput+="\n\n$miniRule $success $hostname [edge shard: $currEdgeShard] $miniRule\n"
              else
                shardsFoundOutput+="\n\n$miniRule $failure $hostname [edge shard: $currEdgeShard] $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
        fi
      done
    
      echo
      echo "$horizontalRule"
      echo
      echo "$service validation for hostname $hostname:"
      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 <random-string>.$edgeDomain not found"
        fi
      fi
    
      curlResult="$(curl -vsm20 "$url" 2>&1)"
      if grep -q "$curlValidation" <<< "$curlResult"; then
        if grep -q "$curlResponseValidation" <<< "$curlResult"; then
          echo -en "$success $hostname passes TLS and HTTP response validation"
          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 --" \
            "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 -- "
        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 Labs ($sslLabsUrl):"
          echo ""
          echo "$horizontalRule"
          echo "$curlResult" | sed 's/^/    /g'
          echo "$horizontalRule"
          echo ""
        else
          echo "the required DNS CNAME record is missing, see above"
        fi
      fi
    
      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, including detailed browser/client support,"
          echo "  see SSL Labs (click the first IP address if prompted):"
          echo ""
          echo "    $info  $sslLabsUrl"
          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"
        if bc -l <<< "$(cut -d. -f1,2 <<< "$curlVersion") $curlVersionRequired" 2>/dev/null | grep -q 0; then
          echo -n " -- insufficient curl version installed: $curlVersion, but this script requires curl version" \
            "$curlVersionRequired because it uses the curl --connect-to flag to bypass DNS and directly test" \
            "each Adobe Target edge shards' SNI confirguation for $hostname"
        fi
        if [ -n "$shardsFoundOutput" ]; then
          echo -e ":\n$shardsFoundOutput"
        fi
        echo
      fi
      echo
      echo "$horizontalRule"
      echo
    }
    
  2. Plak deze opdracht (waarbij target.example.com wordt vervangen door uw hostnaam):

    code language-none
    adobeTargetCnameValidation target.example.com
    

    Als de implementatie gereed is, ziet u de uitvoer hieronder. Het belangrijkste onderdeel is dat alle regels voor validatiestatus in plaats van 🚫 weergeven. Elke Target edge CNAME shard zou CN=target.example.com moeten tonen, die primaire hostname op het gevraagde certificaat aanpast (extra SAN hostnames op het certificaat worden niet gedrukt in deze output).

    code language-none
    $ 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
    ✅ target.example.com passes shard validation for the following 7 edge shards:
    
    ===== ✅ target.example.com [edge shard: mboxedge31-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge32-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge34-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge35-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge36-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge37-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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: mboxedge38-alb02.tt.omtrdc.net] =====
    *  expire date: Jul 22 23:59:59 2022 GMT
    *  issuer: C=US; O=DigiCert Inc; CN=DigiCert 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, including detailed browser/client support,
      see SSL Labs (click the first IP address if prompted):
    
        🔎  https://ssllabs.com/ssltest/analyze.html?hideResults=on&latest&d=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
    
    ==========================================================
    
    note note
    NOTE
    Als dit bevestigingsbevel op DNS bevestiging ontbreekt maar u reeds de noodzakelijke DNS veranderingen hebt aangebracht, zou u op uw DNS updates kunnen moeten wachten om volledig te verspreiden. DNS de verslagen hebben bijbehorend ​ TTL (tijd-aan-levende) ​ die geheim voorgeheugenvervaltijd voor DNS antwoorden van die verslagen dicteert. Dientengevolge, zou u minstens zolang uw TTLs kunnen moeten wachten. U kunt het dig target.example.com bevel of ​ gebruiken Toolbox van de Reeks van G ​ om uw specifieke TTLs omhoog te kijken. Om DNS propagatie rond de wereld te controleren, zie ​ what smydns.net ​.

Hoe gebruik ik een opt-out-koppeling met CNAME

Als u CNAME gebruikt, zou de opt-out verbinding de "client= clientcode parameter, bijvoorbeeld moeten bevatten:
https://my.cname.domain/optout?client=clientcode .

Vervang clientcode met uw cliëntcode, dan voeg de tekst of het beeld toe dat aan ​ opt-out URL ​ moet worden verbonden.

Bekende beperkingen

  • De modus QA blijft niet behouden wanneer u CNAME en at.js 1.x hebt, omdat deze is gebaseerd op een cookie van een andere fabrikant. Als tussenoplossing kunt u de voorvertoningsparameters toevoegen aan elke URL waarnaar u navigeert. De modus QA blijft behouden wanneer u CNAME en at.js 2.x hebt.
  • Wanneer u CNAME gebruikt, neemt de kans toe dat de grootte van de cookieheader voor Target -aanroepen toeneemt. Adobe raadt u aan de grootte van de cookie kleiner te maken dan 8 kB.
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3