AEM reindirizza a HTTP quando si accede tramite load balancer con terminazione SSL/TLS
In questo Experience Manager viene illustrato il problema relativo al reindirizzamento da https a http quando si tenta di accedervi tramite un load balancer (o CDN) con terminazione SSL.
Descrizione description
Ambiente
Experience Manager
Problemi/Sintomi
Quando si accede ad AEM tramite un load balancer (o CDN) con terminazione SSL, AEM reindirizza da HTTPS a HTTP.
La terminazione SSL nel load balancer indica che i certificati SSL sono installati nel load balancer. L'utente finale accede al sito tramite https://, mentre il server Dispatcher/Web e l'AEM sono accessibili dal back-end tramite http://.
Risoluzione resolution
Per risolvere il problema:
I.Aggiorna la configurazione di Dispatcher /clientheaders
Consulta la documentazione del load balancer per individuare l’intestazione configurata dal servizio al fine di notificare la terminazione SSL ai sistemi a valle. Per semplicità, questi passaggi si basano sul presupposto che l'intestazione HTTP corretta sia "X-Forwarded-Proto: https"
- Accedi al server del dispatcher.
- Apri la configurazione .any della farm del dispatcher.
- Aggiungi l’intestazione alla sezione /clientheaders.
Se utilizzi un dispatcher senza load balancer o se il load balancer o il proxy non riesce a impostare l'intestazione X-Forwarded-Proto, puoi impostarla a livello di server web o dispatcher. Se utilizzi il server Apache HTTP, aggiorna HTTPS VirtualHost con questa direttiva:
RequestHeader
set
X-Forwarded-Proto
"https"
II. Aggiornare le configurazioni dell’intestazione:
- Vai a
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
e accedi come amministratore. - Imposta l'intestazione di inoltro SSL su X-Forwarded-Proto.
- Imposta il valore di inoltro SSL su https.
- Fai clic su Salva.
Nota:
Non esiste uno standard per le intestazioni del proxy inverso che indicano al back-end il protocollo utilizzato. Tuttavia, ecco alcuni esempi noti:
- Amazon ELB (Elastic Load Balancer) utilizza l’intestazione "X-Forwarded-Proto: https".
- Amazon Cloudfront CDN utilizza l’intestazione "X-Cloudfront-Proto: https".
III. Aggiornare la configurazione di Jetty OSGi (AEM 6.3 e versioni successive)
In AEM 6.3 e versioni successive è necessaria una configurazione aggiuntiva:
- Accedere a
http://aem-host:port/system/console/configMgr/org.apache.felix.http.
- Abilitare l'impostazione Enable Proxy/Load Balancer Connection e salvarla.
Causa
Diversi load balancer inviano intestazioni diverse per notificare ai sistemi back-end che SSL è terminato a monte. Ad esempio, Amazon ELB utilizza l'intestazione "X-Forwarded-Proto: https".