Nginx nome misto e hosts baseados em IP

2

Eu quero hospedar meus sites em um endereço IP separado (devido ao SNI). Eu uso a imagem do docker do nginx hospedada no AWS EC2. Quando eu configuro para:

server {
  listen <MY_IP>:80;
  server_name <MY_HOST>.com;
  return 301 https://google.com;
}

Ele nunca resolve essa parte, mesmo que a entrada DNS A do domínio esteja definida como <MY_IP> . Ele sempre resolve minha configuração padrão, que está hospedada em outro endereço IP:

server {
  listen 80 default_server;
  server_name _;
  ...
}

É possível misturar hosts baseados em IP e nome? É possível de alguma forma depurar o que o nginx resolve para o que e por quê?

    
por user68786 14.09.2016 / 13:45

1 resposta

0

Se você remover a parte da diretiva listen na primeira cláusula do servidor, o nginx corresponderá às solicitações que contêm um cabeçalho Host: com .com para a primeira configuração do servidor e solicita com outros Host: headers a segunda configuração do servidor padrão .

O SNI também se aplica ao serviço HTTPS / TLS, não ao serviço HTTP, e permite especificamente servir vários hosts a partir do mesmo IP.

    
por 20.09.2016 / 03:16

Tags