server{
..
server_name some_other_domain_name.com;
..
}
Eu mapeei meu nome de domínio para o IP público da minha VM via godaddy.
Quando insiro o nome de domínio no navegador, ele consegue acessar o site hospedado na VM (via nginx). No entanto, eu esperava que a solicitação não fosse permitida pelo nginx porque a propriedade server_name está definida como some_other_domain_name.com
O nginx não verifica a propriedade server_name?
Há uma boa explicação de como o nginx escolhe os blocos de servidor e de localização para prosseguir com a solicitação no Digital Ocean .
Em resumo, o nginx primeiro escolhe a(s) melhor(es) correspondência(s) com base nas
listen
diretivas. E verificaserver_name
apenas se há mais de uma correspondência. Nesse caso, se não houverserver_name
correspondência, ele escolherádefault
bloquear. O bloco padrão é declarado comodefault_server
nalisten
diretiva ou o primeiro.Você não compartilhou sua configuração completa do nginx, então este é um palpite do que está faltando na configuração.
O nginx sempre serve algo para cada solicitação. Se não houver nenhum
server
bloco que tenha uma correspondênciaserver_name
para a solicitação, o nginx usará oserver
bloco padrão.Um bloco padrão
server
pode ser o bloco onde alisten
diretiva temdefault_server
modificador.Se não existir tal bloco, o primeiro
server
bloco é o padrão.No seu caso, acho que você precisa configurar um bloco de servidor padrão como este: