nginx server_name não priorizado

2

Por que minha configuração não é direcionada para o server_name específico quando é especificado?

Parte da minha configuração:

server
{
  listen      443 ssl;
  server_name foo-bar.example.com;

  include includes/http/server/ssl.conf;

  location /
  {
    #...
  }
}

server
{
  listen 80   default_server;
  listen 162  default_server;
  listen 443  default_server;
  listen 465  default_server;
  listen 3306 default_server;
  listen 9200 default_server;

  return 444;
}

No entanto, ir para o domínio foo-bar.example.com retorna o status 444 . Quando eu removo o último bloco, ele funciona como esperado.

Eu tentei adicionar:

  • server_name ""
  • server_name _

... no último bloco sem sucesso.

As prioridades definidas nesta página: link

  • exact name
  • longest wildcard name starting with an asterisk, e.g. “*.example.org”
  • longest wildcard name ending with an asterisk, e.g. “mail.*”
  • first matching regular expression (in order of appearance in a configuration file)

... me diz que o que eu faço deve funcionar, imo.

    
por superhero 14.07.2016 / 11:34

1 resposta

3

Ao procurar no error.log , localizado em /var/log/nginx/ , encontrei no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking

Então, adicionando um novo bloco:

server
{
  listen 443 default_server;
  include includes/http/server/ssl.conf;
  return 444;
}

... enquanto removia o listen 443 default_server do antigo bloco, fez o truque ...

inclui / http / server / ssl.conf

ssl_certificate     /etc/ssl/certs/crt.crt;
ssl_certificate_key /etc/ssl/private/key.key;
    
por 14.07.2016 / 12:24

Tags