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"

  1. Faça logon no servidor do dispatcher.
  2. Abra a configuração .any do farm do dispatcher.
  3. 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:

1
RequestHeader  set X-Forwarded-Proto  "https"

II. Atualize as configurações de cabeçalho:

  1. Vá para http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter e faça logon como administrador.
  2. Defina o cabeçalho de encaminhamento SSL como X-Forwarded-Proto.
  3. Defina o valor de encaminhamento SSL como https.
  4. 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".

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