Nginx : mettre un serveur par défaut

Lancer une page d'erreur si aucun serveur ne correspond

16 novembre 2014

Nginx a, par défaut, un comportement très déroutant en ce qui concerne les noms de domaines ou sous-domaines qui n'existent pas. Ainsi, si le DNS renvoie plusieurs domaines vers votre nginx (domain1.com, domain2.com, *.domain1.com etc...) et que certains de ces domaines ne sont pas pris en charge par vos site-available : nginx ne retournera pas une erreur mais utilisera le premier site-available disponible à la place. Vous pourrez ainsi vous retrouver dans une situation dans laquelle, en appelant domain1.com, vous affichez le site correspondant à domain2.com.

Pour régler ce problème il suffit d'ajouter un serveur par défaut. Faites une sauvegarde de /.../nginx/site-available/default et remplacer son contenu par :

Un serveur par défaut avec Nginx

server {
        listen 80 default_server;
        server_name _;

        location / {
                root   /.../www;
                index  host_not_found.html;
        }
}

La page /.../www/host_not_found.html pourra contenir une erreur spécifique ou toute autre chose qui vous passe par la tête. Vous pourriez aussi directement ajouter un "return 404;" au-dessus de "location", ce qui renverrait la page d'erreur 404 native de Nginx. N'oubliez pas de recharger Nginx après ces modifications.

A bientôt !

Par
Créateur et administrateur.

Dans la même catégorie

Docker pour les null
Git : annuler le dernier commit sans perdre ses modifications
SSHFS : monter un système de fichier avec SSH
Linux : débloquer une interface graphique gelée
Gnome 3 : changer les raccourcis clavier systèmes
Bash : sortir automatiquement du script si une variable n'est pas initialisée
Bash : sortir automatiquement du script si une commande échoue
GIT : merger 2 commits
GIT : Afficher la branche courante dans le prompt
Couper une vidéo ou une musique sous linux
Debian / Ubuntu : installer HTTPS pour APT
Filtrer les lignes affichées par la commande tail
Apache 2 : Créer des sous-domaines dynamiques
Transférer des fichiers sur un smartphone android sans câble USB
Comment connaitre la taille d'un dossier sous linux ?
Surveiller la sortie d'une commande avec watch
Comment lancer ou arrêter un script au démarrage de Linux ?
Comment connaître la version de mon OS Linux ?
Comment afficher le cache ARP sous Linux ?
GIT : les commandes indispensables
Comment trouver mon adresse IP publique ?
Linux : Comment configurer une adresse IP fixe ?
Comment supprimer les fichiers plus vieux qu'une date donnée en bash ?
Apache 2 : Comment changer le DocumentRoot en fonction du port ?
GIT : Comment ajouter les nouveaux fichiers automatiquement ?
Comment exécuter un script local sur une machine distante avec SSH ?
32 bits ou 64 bits ?
Ecrire dans le sudoers grâce à visudo

Commentaire(s)