How to Enable HTTPS Redirection in Zimbra Proxy Server
Use the Zimbra proxy attribute zimbraReverseProxyMailMode to redirect web requests from HTTP to HTTPS. Set it to redirect on every Zimbra Proxy node, then restart the proxy service and verify the HTTP response has a Location: https://... header. Before doing this, make sure the public HTTPS hostname already resolves to your proxy or load balancer and presents a valid certificate.
This setting is for web access through Zimbra Proxy. It does not by itself configure mailstore HTTPS, install a certificate, or guarantee that every mail application follows a redirect. If you need HTTP requests rejected outright, consider HTTPS-only proxy mode instead of redirection.
A sample topology: the public mail hostname reaches the proxy tier before requests are passed to a mailbox server.
Choose the behavior that fits your deployment
Proxy mail mode
What happens to HTTP
When to use it
redirect
The proxy returns an HTTP 302 response directing the client to HTTPS.
Useful when people still enter an HTTP URL and should be sent to the secure web address.
https
The proxy serves the web client over HTTPS; it does not provide the same HTTP-to-HTTPS redirect flow.
Prefer this when clients should never start a session over HTTP.
both or mixed
These are separate proxy modes with different HTTP/HTTPS behavior.
Use only when the deployment specifically needs the documented behavior; do not assume they enforce an HTTP redirect.
Zimbra’s security guidance warns that some clients, including ActiveSync clients, may not honor an HTTP redirect and could send credentials in the initial unencrypted request. Redirection is therefore helpful for browser convenience, but it is not a substitute for HTTPS-only access when all clients must avoid HTTP. If you choose redirect mode, protect the HTTP listener at the network edge as appropriate and communicate the HTTPS URL to users.
Before changing proxy behavior, confirm that the public webmail hostname opens over HTTPS and displays a trusted lock indicator.
Before you change the proxy
Confirm the scope. This procedure changes web traffic handled by Zimbra Proxy. Your deployment must already have the proxy service enabled and working.
Check the public endpoint. The hostname users visit, such as mail.example.com, must resolve to the public proxy or load balancer. HTTPS must already work on the expected hostname and port.
Check the certificate. Install and validate the certificate chain for the public hostname before redirecting users. A redirect to HTTPS with a broken or mismatched certificate only moves the failure to the next request.
Identifique todos os nós proxy. Em um ambiente com balanceamento de carga, anote o nome do servidor Zimbra de cada servidor proxy. Alterações aplicadas a um proxy não configuram automaticamente os outros.
Planeje uma janela de manutenção, se necessário. Reiniciar o serviço proxy pode interromper brevemente as conexões por meio desse nó. Em uma implantação redundante, aplique a alteração em um nó por vez e monitore a integridade do serviço.
Utilize a conta Zimbra para os comandos administrativos abaixo. Substitua ` proxy1.example.com<nome_do_servidor>` pelo nome exato do servidor Zimbra do seu nó proxy e ` mail.example.com<nome_do_host>` pelo nome público do webmail. Não copie e cole os nomes de exemplo literalmente em um sistema de produção.
Habilitar redirecionamento de HTTP para HTTPS
1. Registre o modo proxy atual.
Em um host Zimbra com as ferramentas de linha de comando disponíveis, consulte a configuração atual do proxy:
Registre a saída para que você possa compará-la após a alteração ou restaurar o modo anterior, se necessário. O gscomando lê os atributos do servidor; o comando msusado abaixo os modifica.
O comando de exemplo lê o modo de e-mail atual em um nó proxy; seu servidor pode exibir um valor diferente.
2. Configure o modo proxy para redirecionar.
Defina o atributo no objeto do servidor proxy:
zmprov ms proxy1.example.com zimbraReverseProxyMailMode redirect
A documentação de configuração do Zimbra Proxy identifica redirectesse modo para redirecionar solicitações HTTP para HTTPS. Aplique o mesmo comando a cada nó proxy que aceita tráfego web público. Se um balanceador de carga puder enviar uma solicitação HTTP para vários proxies, cada proxy elegível precisa ter um comportamento consistente.
Não confunda esta configuração com zimbraMailModea documentação do Zimbra, que atribui atributos separadamente para a conexão com o servidor de caixa de correio. Alterar o modo de armazenamento de e-mail não é a etapa que habilita o redirecionamento HTTP no proxy para o navegador.
Defina o modo de e-mail do proxy para redirect; repita o processo para cada nome de servidor proxy em uma implantação com vários nós.
3. Aplique a alteração em cada proxy.
Reinicie o serviço proxy no nó onde você alterou a configuração:
zmproxyctl restart
Em seguida, verifique o status do serviço:
zmproxyctl status
Execute a reinicialização em cada nó proxy, um de cada vez, caso você tenha uma camada redundante. Siga as orientações operacionais da sua versão do Zimbra instalada, caso seu ambiente possua um processo prescrito de atualização do cache de configuração ou orquestração de serviços. Evite editar diretamente os arquivos Nginx gerados: o Zimbra gerencia a configuração do proxy a partir das configurações do servidor, e alterações manuais podem ser sobrescritas.
Os exemplos utilizam o Guia de Administração do Zimbra Daffodil v10 e a documentação de proxy/segurança publicada pela Zimbra. Versões mais antigas do ZCS podem diferir em termos de empacotamento ou procedimentos suportados; portanto, verifique o guia de administração da versão exata instalada em seu ambiente antes de aplicar qualquer alteração.
Uma sequência operacional de exemplo atualiza os dados de configuração e reinicia o proxy; siga o procedimento compatível com a versão instalada.
Verifique o redirecionamento e a resposta HTTPS.
4. Verifique o cabeçalho da resposta HTTP.
A partir de um sistema que consiga acessar o endpoint público, solicite a URL HTTP sem seguir os redirecionamentos:
No modo de redirecionamento, procure por uma resposta 302 e um Locationcabeçalho cujo valor comece com https://mail.example.com/. Os cabeçalhos exatos e o tratamento de status podem variar de acordo com a sua versão do Zimbra, o caminho e qualquer balanceador de carga ou gateway da web na frente do proxy. A tela a seguir é um exemplo ilustrativo do padrão de cabeçalho esperado, não uma captura de teste de um servidor em produção.
Padrão de redirecionamento esperado: o HTTP retorna uma resposta 302 e direciona o navegador para o nome do host HTTPS. Os cabeçalhos e datas da resposta real serão diferentes.
Confirme se o certificado TLS é válido para o nome do host e se a resposta corresponde à página de webmail ou ao redirecionamento esperado para o aplicativo. Não utilize este método curl -kpara burlar a verificação de certificado: isso oculta o problema de certificado que os usuários veriam. Uma página de login pode retornar um redirecionamento ou um status diferente de 200, dependendo da versão do produto e do fluxo de autenticação; portanto, avalie a resposta juntamente com a verificação do navegador.
O exemplo mostra o HTTPS alcançando o serviço com um certificado que corresponde ao nome do host; verifique a cadeia de certificados real em seu endpoint.
6. Teste em um navegador
Abra http://mail.example.comem uma nova sessão do navegador. O endereço deve mudar para a URL HTTPS antes de você inserir as credenciais. Em seguida, abra a URL HTTPS diretamente e confirme se a página de login carrega sem aviso de certificado. Repita o procedimento fora da sua rede interna caso o DNS público, as regras do firewall ou um balanceador de carga possam produzir resultados diferentes.
Não faça testes inserindo uma senha real enquanto a barra de endereços ainda exibir HTTP. Se o redirecionamento falhar, interrompa o processo e corrija primeiro a configuração do proxy, do servidor de borda ou do certificado.
Verificação final do navegador: a página de login é exibida no hostname HTTPS após o redirecionamento.
Guia rápido de resolução de problemas
Sintoma
O que verificar
O HTTP permanece na mesma URL.
Consultar zimbraReverseProxyMailModeo proxy que processou a solicitação; verificar se todos os nós de balanceamento de carga possuem o valor pretendido e se foram reiniciados.
O cabeçalho Location está usando o nome do host ou a porta incorretamente.
Verifique o URL público, as regras de proxy reverso ou balanceador de carga e as configurações de nome de host/protocolo/porta do serviço público do Zimbra usadas para gerar links públicos.
O navegador exibe um aviso de certificado.
Verifique se o certificado está instalado no ponto de terminação TLS, se abrange o nome de host público e se inclui os certificados de cadeia necessários.
Os usuários veem um loop de redirecionamento
Verifique se um balanceador de carga de front-end encerra o TLS, mas encaminha o HTTP para o Zimbra, e confirme se o proxy consegue identificar corretamente o protocolo da requisição externa. Alinhe a configuração de TLS e de encaminhamento na borda da rede.
Um cliente de e-mail ainda envia HTTP
Não assuma que o cliente esteja seguindo um redirecionamento 302. Prefira o acesso somente HTTPS para clientes que nunca devem enviar credenciais por HTTP e configure cada cliente com a URL do servidor HTTPS.
Lista de verificação de implantação
O URL HTTPS público resolve para o proxy ou balanceador de carga pretendido.
O certificado TLS é válido para o nome de host público e é confiável para os clientes.
zimbraReverseProxyMailModeestá configurado para redirectem todos os nós proxy aplicáveis.
O serviço proxy foi reiniciado de acordo com o procedimento da versão do Zimbra instalada.
Uma requisição HTTP retorna um cabeçalho HTTPS Location, e uma requisição HTTPS direta valida o certificado.
Os usuários e clientes de e-mail estão configurados para HTTPS; o modo de redirecionamento não é considerado uma garantia de que todos os clientes protejam sua primeira solicitação.