Il caricamento delle immagini non riesce a causa della presenza di più intestazioni Content-Disposition in AEMaaCS
In Adobe Experience Manager as a Cloud Service (AEMaaCS), le immagini JPEG non vengono caricate se le risposte contengono più intestazioni Content-Disposition. Il problema si verifica perché le risposte dell’immagine interessata contengono due intestazioni Content-Disposition, mentre le risposte di lavoro ne contengono solo una. Per risolvere il problema, configurare una singola intestazione content-disposition.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (AEMaaCS), ambienti di produzione e stage.
Problema/Sintomi
-
Alcune immagini JPEG non vengono caricate in browser come Chrome e vengono visualizzati errori come ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION.
-
In Chrome DevTools, le richieste non riuscite mostrano intestazioni di risposta mancanti o non valide.
-
In Safari, le immagini potrebbero mancare per tutti gli utenti.
-
Il problema può essere intermittente e interessare alcuni utenti o browser, ma non altri.
-
Le risposte immagine interessate contengono due intestazioni
content-disposition(ad esempio, sia in linea che in allegato), mentre le risposte di lavoro ne contengono solo una. -
Esempio di risposta errata:
code language-none HTTP HTTP/1.1 200 OK content-type: image/jpeg content-disposition: inline content-disposition: attachment x-cache: HIT Age: 760 ETag: "3445-610b720f12c80" Last-Modified: Tue, 06 Feb 2024 14:09:38 GMT -
Esempio di risposta corretta:
code language-none HTTP HTTP/1.1 200 OK content-type: image/jpeg content-disposition: inline x-cache: HIT Age: 921 ETag: "0x8DE77BA2921C01B" Last-Modified: Sun, 01 Mar 2026 17:44:17 GMT
Causa principale
Questo problema si verifica quando la configurazione di Dispatcher aggiunge una nuova intestazione content-disposition senza rimuovere una esistente dalla risposta di origine. Di conseguenza, nella risposta vengono visualizzate più intestazioni content-disposition, che vengono rifiutate dai browser come Chrome e causano il mancato caricamento delle immagini.
Risoluzione resolution
Per risolvere il problema, segui i passaggi seguenti:
-
Rivedi la configurazione di Dispatcher, in particolare le regole che impostano l’intestazione
Content-Dispositionper le risorse immagine e PDF. -
Aggiornare la configurazione di Dispatcher per rimuovere qualsiasi intestazione
Content-Dispositionesistente prima di impostarne una nuova. Ad esempio, utilizzare la configurazione seguente:code language-none Header unset Content-Disposition Header always set Content-Disposition "inline" -
Applica la stessa modifica alle regole per PDF o altri tipi di file in base alle esigenze.
-
Distribuisci la configurazione aggiornata utilizzando la pipeline di configurazione a livello web. Si noti che le pipeline CI/CD standard potrebbero non rilevare le modifiche di configurazione a livello web.
-
Rimuovi le cache Dispatcher e CDN per i percorsi delle risorse interessate per garantire che vengano servite le intestazioni aggiornate.
-
Recupera le risorse interessate e controlla le intestazioni di risposta per confermare che sia restituita una sola intestazione
Content-Disposition. Utilizzare ad esempiocurl -D - <asset-url>. -
Verificare che la risposta contenga una singola intestazione
Content-Disposition: inline. -
In browser come Chrome e Safari verifica che le immagini siano caricate correttamente.