NGINX exibe um site incorreto, aumentando de forma inconsistente o local de navegação

2

Eu tenho esse problema estranho que eu não entendo. Eu usei o script do mecanismo EE para instalar um blog wordpress no linode, usando o NGINX. Isso funcionou bem no passado.

O script instala um VHOST para o meu nome de domínio (vamos chamá-lo example.com) e o resultado final no / etc / nginx / sites-available é:

  • padrão
  • example.com
  • 22222 (ferramentas de administração, não é esse o problema)

O problema:

Depois de configurar o DNS no linode tudo parecia funcionar bem. Example.com puxou o blog do WordPress sem problemas. No entanto, no local do meu escritório, o NGINX voltaria ao padrão! ... Então, em casa e em qualquer outro lugar, não havia problema, enquanto em alguns outros locais (como o escritório), o NGINX me dava o índice padrão.xxx (com o NGINX funcionando como mensagem). O mesmo, laptop, mesmo navegador, tudo mesmo, mas resolução diferente, dependendo da localização física em que estou.

Solução 1:

Forçando o NGINX a usar example.com tornando default_server na configuração. Isso funciona, no entanto, não deve ser o caminho para resolvê-lo, já que o NGINX deve pegar o nome de domínio e servir o site correto. De que outra forma posso confiar para servir as páginas corretas sempre que eu configurar mais sites no futuro?

Solução 2:

O arquivo: etc / nginx / sites-enabeled / default possui as seguintes linhas:

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        # ......

Sempre que eu comentar a segunda diretiva de escuta, a saber:

listen [::]:80 default_server;

E eu deixo o primeiro, depois o NGINX resolve o meu nome de domínio CORRETAMENTE, enquanto o / etc / nginx / sites-enabled / default é STILL o default_server.

Este parece ser um comportamento CORRETO, estou certo?

A questão:

Então, agora eu gostaria de saber se esse é realmente o comportamento correto, por que isso acontece, e se isso foi um erro ou apenas um erro de configuração.

Bug ??? : porque com a configuração original (incluindo a segunda diretiva), o NGINX costumava rodar corretamente da minha casa, mas NÃO da minha localização no local de trabalho (mesmo laptop, navegador, etc, etc). Inconsistente

Mis-config ???? : Você me diz por que é assim, quando antes não costumava resolver corretamente apenas do meu local de trabalho ...

    
por Lex 02.09.2016 / 11:18

1 resposta

3

Meu palpite é que você não tem uma diretiva IPv6 listen na configuração example.com server, mas usa o IPv6 para acessar o site nos locais onde ele não funciona.

Nesse caso, a diretiva listen [::]:80 default_server; captura a solicitação, pois não há nada correspondente a example.com . Se você remover essa linha, o servidor retornará ao IPv4 completamente e tudo funcionará.

A solução correta nesse caso seria adicionar listen [::]:80 à sub-rotina example.com do servidor.

    
por 02.09.2016 / 11:58