NGINX ouvindo em sub1.domain.tld: port traps ALL solicitou subdomínios neste: port?

1
  • versão nginx: nginx / 1.9.3 (Ubuntu)

Estou tentando descobrir por que o NGINX parece ignorar a limitação de um subdomínio codificado quando: port está em jogo, como a seguir. Note que: 4444 é apenas ouvido neste bloco.

server {
    listen sub1.somedomain.net:4444 ssl;
    include /etc/nginx/sites-available/somedomain.net-lcrypt-config;

    root /var/www/somedomain;
    server_name sub1.somedomain.net;
}

O sintoma é que qualquer subdomínio pode ser solicitado em: 4444 e / var / www / somedomain será servido.

https://blech.somedomain.net
    
por CNSKnight 05.04.2016 / 20:06

1 resposta

0

Isso não tem nada a ver com nomes de domínio, mas sim com o que define um soquete de rede: a <IP address>:<port> duple.

No seu caso, está implícito que todos os subdomínios envolvidos apontam para o mesmo duple que o principal.

Você configurou o nginx para escutar neste soquete, manipulando assim qualquer conexão de entrada. O nginx, em seguida, seleciona o melhor servidor virtual para a solicitação, padronizando para um padrão, se nenhuma melhor correspondência for encontrada. Sugiro que você leia no como o nginx atende as solicitações .

No seu caso:

  1. blech.somedomain.net parece estar apontando para o mesmo endereço IP que sub1.somedomain.net
  2. Nenhum servidor virtual é mais adequado do que o sub1.somedomain.net one encontrado para sua solicitação para blech.somedomain.net , ele está selecionado para atender à solicitação, o mesmo que se estivesse tendo o sinalizador default_server em sua listen directiva.

Se isso não for desejado, você pode (opções não limites para a lista abaixo):

  • use endereços IP separados para subdomínios que você deseja isolar um do outro
  • crie servidores virtuais para subdomínios que você deseja capturar
  • use outro servidor virtual como default_server
por 27.03.2017 / 10:49

Tags