Nginx: milhares de server_name

10

como posso configurar o Nginx restrito a milhares de server_name diferentes sem criar milhares de arquivos de configuração externos ou escrever uma linha server_name muito longa?

Na verdade, eu gostaria que o Nginx fosse um proxy reverso apenas para server1.com, server2.com, etc ...

A melhor solução para mim seria ter um único arquivo de configuração externo contendo meus nomes de servidor restritos: server1.com, server2.com, etc ...

É possível?

Ok, obrigado por suas respostas, funciona sem reg. expressões. Apenas uma lista grande server_name como explicado por kolbijack. Thx.

    
por Fred 06.07.2012 / 12:02

2 respostas

17

Você pode colocar a diretiva server_name em um arquivo por si só e depois incluí-la no seu bloco de servidor:

# example.com.conf
server {
  include /path/to/server_names;
  ...
}

# /path/to/server_names
server_name
  example.com
  domain.com
  foo.com
;

O arquivo server_names precisa apenas server_name no topo e; na parte inferior para ser uma diretiva válida.

    
por 06.07.2012 / 13:17
7

A declaração server_name no seu bloco server {} pode ser uma expressão regular, isso deve permitir que você corresponda ao server_name s dentro de um padrão definido.

Mais informações sobre isso podem ser vistas aqui: link

    
por 06.07.2012 / 12:26

Tags