Relação entre server_name em nginx sites-available, arquivo / etc / hosts e A-records

1

Eu tenho os seguintes dois blocos de servidores no meu arquivo de configuração em sites disponíveis:

server {
       listen 80;
       server_name www.mydomain.be;

       root /usr/share/nginx/html;
       index index.html index.htm;


       location / {
              try_files $uri $uri/ =404;
      }
}

server {
       listen 80;
       server_name sub.mydomain.be;

       root /usr/share/nginx/sub;
       index index.html index.htm;


       location / {
              try_files $uri $uri/ =404;
      }
}

Eu também criei um registro A para ambos os domínios, www.domain.be e sub.domain.be, com o IP do meu servidor como valor.

No entanto, quando tento recarregar minha configuração nginx com     serviço nginx recarregar falha.

Quando eu removo o segundo bloco do servidor, ele é recarregado como esperado.

Eu sei que este tópico é popular e que existem muitas dessas perguntas [nginx] [subdomínio] aqui, mas nenhuma delas parece discutir explicitamente como as três coisas a seguir estão juntas:

  1. hosts virtuais ou blocos de servidores no nginx (correspondência entre o servidor e o servidor)
  2. o efeito de registros A sobre como o nginx processa solicitações
  3. a necessidade de adicionar hosts a / etc / hosts

Neste momento, tenho a impressão de que a falta de conhecimento deste quadro maior, em vez de um conhecimento específico da configuração do nginx, me impede de fazer isso funcionar.

Atualização:

Rastreou o problema

Inicialmente, tive uma falha sem qualquer explicação.

Usando

sudo nginx -c /etc/nginx/nginx.conf -t

Eu recebi esta mensagem

nginx: [emerg] could not build the server_names_hash, you should increase       server_names_hash_bucket_size: 32

depois de descomentar

server_names_hash_bucket_size 64;

o problema foi resolvido.

    
por Patrick Allo 26.05.2014 / 22:38

1 resposta

1

Rastreou o problema (que não está relacionado a registros A ou ao arquivo / etc / hosts)

Inicialmente, tive uma falha sem qualquer explicação.

Usando

sudo nginx -c /etc/nginx/nginx.conf -t

Eu recebi esta mensagem

nginx: [emerg] could not build the server_names_hash, you should increase       server_names_hash_bucket_size: 32

depois de descomentar

server_names_hash_bucket_size 64;

no nginx.conf o problema foi resolvido.

    
por 31.05.2014 / 19:04