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"

  1. Accedi al server del dispatcher.
  2. Apri la configurazione .any della farm del dispatcher.
  3. 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:

1
RequestHeader  set X-Forwarded-Proto  "https"

II. Aggiornare le configurazioni dell’intestazione:

  1. Vai a http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter e accedi come amministratore.
  2. Imposta l'intestazione di inoltro SSL su X-Forwarded-Proto.
  3. Imposta il valore di inoltro SSL su https.
  4. 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".

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f