X-correlatie-ID behouden in AEMaaCS-foutreacties (404/500)
In Adobe Experience Manager as a Cloud Service gebruikt u de header X-Correlation-Id om aanvragen over AEM-, Dispatcher- en CDN-lagen te traceren. Terwijl deze kopbal in succesvolle (200 OK) reacties verschijnt, mist het in foutenreacties zoals 404 niet Gevonden of 500 Interne Fout van de Server, alhoewel de logboeken van AEM het bevestigen werd geplaatst. Standaard vervangt CDN de AEM-foutreacties door synthetische pagina's, waardoor aangepaste koppen worden verwijderd. Dit breekt controle en het zuiveren werkschema's, die het moeilijk maken om cliënt-zijmislukkingen met achterste logboeken te correleren.
Voeg de header x-aem-error-pass: true toe aan foutreacties om dit te corrigeren. Hierdoor krijgt de CDN de opdracht om de oorspronkelijke AEM-reactie door te sturen in plaats van een synthetische foutpagina te genereren, zodat de header van X-Correlation-Id behouden blijft in alle typen reacties.
Beschrijving description
Omgeving
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- CDN-configuraties met
responseTransformations - Context: bij het implementeren van correlatie-id's of overtrekmechanismen in AEM, Dispatcher en CDN
Probleem/symptomen
X-Correlation-Idheader is aanwezig in200 OKreacties, maar ontbreekt in 404 of 500 reacties.- In AEM-logboeken wordt aangegeven dat de header is ingesteld, maar niet wordt bereikt door de browser of API-client. Let op bij het valideren van het gedrag voor het bijhouden van aanvragen of foutopsporing met
cURL,Postmanof browserdeveloper tools. - Controlesystemen kunnen mislukte transacties niet traceren omdat er correlatiekoppen ontbreken.
- CDN-configuraties lijken koppen in foutreacties te onderdrukken.
Resolutie resolution
De oorspronkelijke foutreactie en de headers van AEM kunnen de client bereiken:
-
Configureer uw AEM-fouthandler om de header
x-aem-error-pass: trueop te nemen in foutreacties. -
Dit geeft de CDN de opdracht om het genereren van synthetische foutpagina's te omzeilen en de oorspronkelijke AEM- of Dispatcher-reactie (inclusief de kopteksten) rechtstreeks naar de client door te sturen.
-
Na het toepassen van deze wijziging:
- De koptekst van
X-Correlation-Idwordt weergegeven in zowel geslaagde als mislukte antwoorden. - De controlemiddelen aan de clientzijde kunnen de volledige aanvraaglevenscyclus nauwkeurig volgen.
- De koptekst van
Aanvullende overwegingen:
- Beveiliging en compatibiliteit: zorg ervoor dat foutoplossingen geen gevoelige interne gegevens bevatten voordat u deze koptekst in productie inschakelt.
- Bereik: dit gedrag is alleen van toepassing op reacties die door AEM of Dispatcher zijn gegenereerd. Fouten op CDN-niveau dienen nog steeds als synthetische pagina's.
- Algemene misverstanden:
responseTransformationskan koppen niet opnieuw injecteren in reacties met een synthetische fout. - Testuiteinde: gebruik de ontwikkelaarsgereedschappen van curl -i -v of browser om de aanwezigheid van kopteksten vóór en na het toepassen van de correctie te controleren. Bijvoorbeeld:
-i -v https:///path-that-triggers-error
Beste praktijken aanbeveling:
- Genereer altijd een correlatie-id en stel deze in achterste aanvragen in.
- Dezelfde id opnemen in logboeken en kopteksten.
- Gebruik
x-aem-error-pass: truevoor foutreacties die volledige traceerbaarheid vereisen, met name tijdens foutopsporing of integratietests. - Beperk het gebruik in productie tot gecontroleerde scenario's om het met voeten treden van CDN standaardfout behandeling te vermijden.
Gerelateerde lezing
- het Zuiveren AEM as a Cloud Service gebruikend logboeken in de Zelfstudies van AEM as a Cloud Service.
- vorm AEM Dispatcher in de Gids van Dispatcher van AEM.