comment puis-je configurer Nginx restreindre à des milliers de nom_serveur différents sans créer des milliers de fichiers de configuration externes ou écrire une très longue ligne nom_serveur?
En effet, je voudrais que Nginx soit un proxy inverse uniquement pour server1.com, server2.com, etc ...
La meilleure solution pour moi serait d'avoir un seul fichier de configuration externe contenant mes noms de serveur restreints: server1.com, server2.com, etc ...
C'est possible ?
Ok, merci pour vos réponses, ça marche sans reg. expressions. Juste une grande liste de nom de serveur comme expliqué par kolbijack. Merci.
Réponses:
Vous pouvez mettre la directive server_name dans un fichier tout seul et ensuite l'inclure à partir de votre bloc serveur:
Le fichier server_names a juste besoin de server_name en haut et; en bas pour être une directive valide.
la source
ServerAlias
directives et jusqu'à 16 millions deDeny from
directives) dans Apache. 5 000 domaines produisent un délai mesurable mais faible. En augmentant le nombre, j'ai trouvé que le retard commençait à se faire sentir autour de 50 000. Avec Apache (et probablement aussi avec nginx), la liste est conservée dans la RAM, ce qui signifie qu'avec le plus grand ensemble que j'ai essayé, je ne pouvais démarrer qu'un seul processus enfant dans ma RAM disponible.server_name
directive et répondRequest rate: 36900.6 req/s (0.0 ms/req)
Request rate: 34716.8 req/s (0.0 ms/req)
La
server_name
déclaration dans votreserver {}
bloc peut être une expression régulière, cela devrait vous permettre de faire correspondre les nom_serveur dans un modèle défini.Plus d'informations à ce sujet peuvent être consultées ici: http://nginx.org/en/docs/http/server_names.html#regex_names
la source