nginx et astérisque nom_serveur?

Existe-t-il un moyen de transférer tout le trafic vers un certain serveur à moins que le domaine ne soit différent?

Fondamentalement, une * pour la propriété server_name ?

 server { listen 80; server_name foo.com } server { listen 80; server_name * } 

Ou bien, existe-t-il un moyen de définir un serveur “par défaut”, puis de l’utiliser si aucune autre configuration de serveur spécifique ne correspond?

Comme le dit la réponse de @Valery Viktorovsky, vous ne pouvez pas utiliser un * pour server_name . Vous pouvez désigner un bloc de server comme “par défaut” pour recevoir toutes les demandes qui ne correspondent à aucune autre. Voir ce post pour une explication. Cela ressemblerait à ceci:

 server { listen 80 default_server; server_name wontmatch.com; # but it doesn't matter } 

Consultez la documentation de server_name pour plus d’informations.

Vous ne pouvez pas utiliser * pour server_name . De la documentation :

Un nom générique peut contenir un astérisque uniquement au début ou à la fin du nom, et uniquement sur une bordure de point.

Cependant, vous pouvez utiliser une expression régulière:

 server { server_name ~^(www\.)?(.+)$; location / { root /sites/$2; } } 

Juste une mise à jour rapide .. selon les documents, les caractères génériques fonctionnent maintenant: http://nginx.org/en/docs/http/server_names.html

FYI, pour ceux comme moi qui cherchaient quelque chose de différent, la configuration suivante écoutera et répondra à toutes les requêtes du port 80, que vous utilisiez l’adresse IP ou l’URL (alias tout):

 server { listen 80 default_server; server_name _; ... } 

Tiré de: http://nginx.org/en/docs/http/server_names.html

Dans les exemples de serveur fourre-tout, le nom étrange “_” peut être vu:

server {listen 80 default_server; nom du serveur _; retourner 444; } Il n’y a rien de spécial à propos de ce nom, …

Vous obtiendrez des erreurs sur sudo service nginx restart ou ... start alors que le lien symbolique /etc/nginx/sites-enabled/default est toujours actif car il utilise le même motif correspondant. Supprimez simplement ce lien et tout devrait fonctionner.