nginx - Puis-je configurer un document d'erreur global?

7

J'ai une configuration nginx avec tout un tas de server {}blocs. Je veux partager des pages d'erreur entre elles toutes, mais beaucoup d'entre elles ont des racines de document différentes. Je peux utiliser une configuration comme

error_page   404              /404.html;
error_page   500 502 503 504  /50x.html;

en dehors des blocs serveur et il est partagé, mais je dois mettre ces mêmes documents dans toutes les racines, ou avoir des règles comme

location = /404.html {
    root /srv/http/errors;
}
location = /50x.html {
    root /srv/http/errors;
}

dans tous mes blocs serveurs.

Existe-t-il un moyen de partager ces documents sans me répéter encore et encore ou avoir de nombreuses copies dans le système de fichiers?

Aucune idée
la source

Réponses:

12

Utilisez la magie d'une directive include pour spécifier tous les passe-partout nécessaires, puis juste include /etc/nginx/standard-error-pages.confdans chaque vhost (intégrez-le au modèle de vhost standard dans votre système de gestion de configuration). Cela rend également très facile le remplacement des pages d'erreur pour un vhost spécifique (en ne mettant pas l'inclusion dans cette configuration de vhost).

womble
la source