Todos os produtos
Search
Central de documentação

:Como resolver exceções de acesso HTTPS causadas por problemas de compatibilidade com SNI?

Última atualização: Sep 21, 2026

Este tópico descreve como resolver exceções de acesso HTTPS causadas por problemas de compatibilidade com Server Name Indication (SNI) nos clientes, após a adição dos serviços web ao Web Application Firewall (WAF).

Contexto

O virtual hosting foi criado para enfrentar o desafio da escassez de endereços IP. Esse recurso permite que um único servidor HTTP ou HTTPS hospede múltiplos domínios compartilhando o mesmo endereço IP — cada domínio funciona como um virtual host. O servidor distribui as requisições para os diferentes virtual hosts com base no cabeçalho Host presente nas requisições dos clientes. Por exemplo, antes de acessar um site HTTPS hospedado em um servidor web com virtual hosting ativado, o navegador precisa estabelecer uma conexão SSL com o servidor e solicitar o certificado necessário. No entanto, o servidor não consegue identificar qual domínio está sendo acessado e, portanto, não consegue retornar o certificado correto.

O SNI é uma extensão SSL/TLS desenvolvida para resolver esse problema. Antes de estabelecer a conexão SSL com o servidor, o navegador envia o hostname que especifica o domínio a ser acessado. Com isso, o servidor identifica e retorna o certificado correspondente ao domínio.

A maioria dos sistemas operacionais e navegadores oferece suporte a SNI. O OpenSSL 0.9.8 inclui suporte nativo a SNI, e as versões mais recentes de servidores NGINX também são compatíveis.

Descrição do problema

Se o seu site apresentar exceções de acesso HTTPS após ser adicionado ao WAF, é possível que os clientes envolvidos não ofereçam suporte a SNI.

Quando um navegador sem suporte a SNI tenta acessar um site protegido pelo WAF, o WAF não consegue identificar o domínio específico solicitado nem obter o certificado necessário para interagir com o navegador. Nessa situação, o WAF utiliza o certificado padrão para concluir o handshake com o navegador, que exibe o erro "Certificate not trusted".

Quando um cliente não oferece suporte a SNI, os seguintes problemas podem ocorrer:

  • Se o cliente for um aplicativo mobile em iOS, o acesso é bem-sucedido. Se o cliente for um aplicativo mobile em Android, o acesso falha.

  • Se o cliente for um navegador, o erro "Certificate not trusted" é exibido.

Solução

Capture os pacotes de handshake SSL no lado do cliente para verificar se ele oferece suporte a SNI. Neste exemplo, o navegador Chrome é usado para acessar o site oficial da Alibaba Cloud.

Se as informações de SNI estiverem presentes no pacote Client Hello, o cliente oferece suporte a SNI.

Caso contrário, o cliente não oferece suporte a SNI. Recomendações:

  • Atualize o navegador ou utilize a versão mais recente disponível, como Chrome ou Firefox.

  • Em cenários de callback de terceiros, como callbacks do WeChat ou do Alipay, utilize o endereço IP do servidor de origem para contornar o WAF.

Compatibilidade com SNI

Nota

O SNI é compatível com TLS 1.0 e versões posteriores, mas não é compatível com SSL.

  • O SNI oferece suporte aos seguintes desktop browsers:

    • Chrome 5 e versões posteriores

    • Chrome 6 e versões posteriores (Windows XP)

    • Firefox 2 e versões posteriores

    • IE 7 e versões posteriores (em Windows Vista/Server 2008 e versões posteriores, excluindo qualquer versão do IE no Windows XP)

    • Konqueror 4.7 e versões posteriores

    • Opera 8 e versões posteriores

    • Safari 3.0 em Windows Vista/Server 2008 e versões posteriores, ou Mac OS X 10.5.6 e versões posteriores

  • O SNI oferece suporte às seguintes libraries:

    • GNU TLS

    • Java 7 e versões posteriores (somente como cliente)

    • HTTP client 4.3.2 e versões posteriores

    • libcurl 7.18.1 e versões posteriores

    • NSS 3.1.1 e versões posteriores

    • OpenSSL 0.9.8j e versões posteriores

    • OpenSSL 0.9.8f e versões posteriores (flags necessárias)

    • QT 4.8 e versões posteriores

    • Python 3, Python 2.7.9 e versões posteriores

  • O SNI oferece suporte aos seguintes mobile browsers:

    • Android Browser no Android 3.0 Honeycomb e versões posteriores

    • iOS Safari no iOS 4 e versões posteriores

    • Windows Phone 7 e versões posteriores

  • O SNI oferece suporte aos seguintes servers:

    • Apache 2.2.12 e versões posteriores

    • Apache Traffic Server 3.2.0 e versões posteriores

    • HAProxy 1.5 e versões posteriores

    • IIS 8.0 e versões posteriores

    • lighttpd 1.4.24 e versões posteriores

    • LiteSpeed 4.1 e versões posteriores

    • Nginx 0.5.32 e versões posteriores

  • O SNI oferece suporte às seguintes command line interfaces:

    • cURL 7.18.1 e versões posteriores

    • wget 1,14 e versões posteriores