¿Cómo puedo configurar Nginx restringir a miles de diferentes server_name sin crear miles de archivos de configuración externos o escribir una línea muy larga de server_name?
De hecho, me gustaría que Nginx sea un proxy inverso solo para server1.com, server2.com, etc.
La mejor solución para mí sería tener un único archivo de configuración externo que contenga mis nombres de servidor restringidos: server1.com, server2.com, etc.
Es posible ?
Ok, gracias por tus respuestas, funciona sin registro. expresiones Solo una gran lista de server_name como lo explica kolbijack. Gracias.
Respuestas:
Puede colocar la directiva nombre_servidor en un archivo solo y luego incluirla desde el bloque de su servidor:
El archivo server_names solo necesita server_name en la parte superior y; en la parte inferior para ser una directiva válida.
fuente
ServerAlias
directivas y hasta 16 millones deDeny from
directivas) en Apache. 5,000 dominios producen un retraso medible pero pequeño. Al aumentar el número, descubrí que el retraso comenzó a notarse en alrededor de 50,000. Con Apache (y probablemente también con nginx), la lista se mantiene en RAM, lo que significa que con el conjunto más grande que probé, solo podía iniciar un proceso secundario dentro de mi RAM disponible.server_name
directiva y respondeRequest rate: 36900.6 req/s (0.0 ms/req)
Request rate: 34716.8 req/s (0.0 ms/req)
La
server_name
declaración en suserver {}
bloque puede ser una expresión regular, esto debería permitirle hacer coincidir server_name s dentro de un patrón establecido.Se puede ver más información sobre esto aquí: http://nginx.org/en/docs/http/server_names.html#regex_names
fuente