Por que o Nginx chama certificado inválido em subdomínios inexistentes apenas para redirecionar para o 404?

1
  1. Tenha dois blocos de servidor.

  2. default_server bloco dentro de http bloco de nginx.conf :

server {
   server_name _;
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;
   listen 443 default_server;
   return 404;
}
include /etc/nginx/sites-enabled/*;
  1. Um bloco de domínio / website em funcionamento dentro de sites-enabled :
server {
  listen 80;
  listen 443;
  server_name example.com;
  return 301 https://www.$server_name$request_uri;
}

server {
  listen 80;
  listen 443 ssl;
  root /var/www/example.com/htdocs/;
  index index.html index.htm;

  server_name www.example.com;
}

(Eu tenho essa configuração para redirecionar todos os não-www para www e todos os http para https)

  1. Eu tenho um certificado para non-www e www para meu domínio. O Nginx, por algum motivo, está chamando qualquer subdomínio, em vez de o site padrão não ser encontrado / ERR_CONNECTION_RESET/ error.

  2. Por exemplo, se eu for para https://asdf.example.com/ Nginx chama e o navegador informar que ele é um certificado SSL inseguro, você o aceita de qualquer maneira e obtém uma página 404.

  3. Como faço para ir para a página 404 ignorando a mensagem do certificado inválido ou como pulo diretamente para 'página não encontrada' e não para a 404? Por exemplo. como ir para https://asdf.serverfault.com ele não dá um 404, dá um ERR_CONNECTION_RESET/ . Eu quero isso para todos os subdomínios e domínios inexistentes no meu servidor.

update: Será que todas as minhas ssl_certificate linhas são adicionadas ao bloco principal também? Se assim for, ainda não resolve pedindo ERR_CONNECTION_RESET e não 404 como exemplo dado em 6. .

    
por user3108268 09.11.2017 / 21:44

1 resposta

1

Se você abrir o link diretamente, o navegador resolverá asdf.example.com para um endereço IP e, em seguida, se conectará a ele usando o protocolo HTTPS . Se o servidor (com IP recuperado) estiver atendendo na 443 port e não retornar nenhum certificado para este domínio, ou um inválido do navegador o avisará sobre o protocolo inseguro antes de concluir a solicitação (por exemplo, exibindo 404 error).

O

link fornece um erro de conexão porque esse subdomínio não está registrado, não tem endereço IP. É por isso que você vê esse erro. Se você quiser ter certeza de que asdf.example.com retornará um erro de conexão em vez do aviso ssl, certifique-se de que esse subdomínio não esteja registrado e não haja nenhum registro curinga (*) para example.com .

    
por 09.11.2017 / 22:01