Eu consertei esse mesmo problema esta manhã, então estou aqui para esclarecer o ponto do C.A (que, agora que entendi o problema, foi bem feito), você provavelmente tem dois bloqueios de servidor:
# default
server {
listen 443 default_server; # Note the lack of 'ssl'
server_name _;
#...
}
#real site
server {
listen 443 ssl;
server_name ;
#...
}
O SNI corresponderá apenas a àqueles marcados com um% de coentenário ssl
. No entanto, o servidor padrão pegará o tráfego de entrada all em 443, independentemente do SSL ou não. Assim, na verdade, é previsível que o SNI realmente funcione, logo de cara, acumulando todo o tráfego para si mesmo.
Sintomas:
- Parece que o nginx não está carregando sua configuração (mesmo com um
nginx -t
e um recarregamento de serviço)
- Erros que indicam "nenhum ssl_certificate encontrado no bloco do servidor"
- O nginx está apenas aplicando seu host ao ouvinte padrão 443.
Soluções:
Eu consertei o problema esta manhã removendo o bloco de servidor padrão, permitindo que o SNI correspondesse aos ouvintes SSL.
A solução alternativa seria adicionar o ssl
listener e as ssl_certificate
linhas ao bloco do servidor para que o SNI seja essencialmente ativado em seu host padrão. Você ainda receberá erros de SSL, por isso não é a melhor solução, mas permitirá que seu SNI funcione:)