O AEM redireciona de volta para http quando acessado por meio do Balanceador de carga terminado por SSL/TLS
Este artigo discute o problema de Experience Manager em que você é redirecionado do https para o http ao tentar acessá-lo por meio de um Balanceador de Carga terminado por SSL (ou CDN terminado por SSL).
Descrição description
Ambiente
Experience Manager
Problemas/Sintomas
Ao acessar o AEM por meio de um Balanceador de carga terminado por SSL (ou CDN terminado por SSL), o AEM redireciona de https para http.
A terminação SSL no balanceador de carga significa que os certificados SSL estão instalados no balanceador de carga. O usuário final acessa o site por meio de https://, e o Dispatcher/Web Server e AEM são acessados no back-end com http://.
Resolução resolution
Para corrigir o problema:
Atualização da configuração /clientheaders do Dispatcher
Consulte a documentação do seu balanceador de carga para descobrir qual cabeçalho ele define para notificar os sistemas downstream de que encerrou o SSL. Para simplificar, nestas etapas, pressupomos que o cabeçalho HTTP correto é "X-Forwarded-Proto: https"
- Faça logon no servidor do dispatcher.
- Abra a configuração .any do farm do dispatcher.
- Adicione o cabeçalho à seção /clientheaders.
Se você estiver usando o dispatcher sem um balanceador de carga ou se o balanceador de carga ou proxy falhar ao definir o cabeçalho X-Forwarded-Proto, é possível defini-lo no nível do servidor da Web ou do dispatcher. Se você estiver usando o Apache HTTP Server, atualize o HTTPS VirtualHost com esta diretiva:
RequestHeader
set
X-Forwarded-Proto
"https"
II. Atualize as configurações de cabeçalho:
- Vá para
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
e faça logon como administrador. - Defina o cabeçalho de encaminhamento SSL como X-Forwarded-Proto.
- Defina o valor de encaminhamento SSL como https.
- Clique em Salvar.
Observação:
Não há um padrão para cabeçalhos de proxy reverso que informam ao back-end qual protocolo é usado. No entanto, aqui estão alguns que são conhecidos:
- O Amazon ELB (Balanceador de carga elástico) usa o cabeçalho "X-Forwarded-Proto: https".
- O CDN do Amazon Cloudfront usa o cabeçalho "X-Cloudfront-Proto: https".
III. Atualizar a configuração do OSGi do Jetty (AEM 6.3 e versões posteriores)
No AEM 6.3 e versões posteriores, é necessária uma configuração adicional:
- Faça logon no
http://aem-host:port/system/console/configMgr/org.apache.felix.http.
- Habilite a configuração Habilitar conexão de proxy/balanceador de carga e salve-a.
Causa
Diferentes balanceadores de carga enviam diferentes cabeçalhos para notificar os sistemas back-end de que SSL está encerrado no upstream. Por exemplo, o Amazon ELB usa o cabeçalho "X-Forwarded-Proto: https".