nginx: ¿puedo configurar un documento de error global?

7

Tengo una configuración nginx con un montón de server {}bloques. Quiero compartir páginas de error entre todos, pero muchos de ellos tienen diferentes raíces de documentos. Puedo usar una configuración como

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

fuera de los bloques del servidor y se comparte, pero luego tengo que poner esos mismos documentos en todas las raíces, o tener reglas como

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

en todos mis bloques de servidores.

¿Hay alguna manera de compartir estos documentos sin repetirme una y otra vez o tener muchas copias en el sistema de archivos?

Despistado
fuente

Respuestas:

12

Use la magia de una directiva de inclusión para especificar todas las repeticiones necesarias, luego solo include /etc/nginx/standard-error-pages.confen cada vhost (hágalo parte de la plantilla estándar de vhost en su sistema de administración de configuración). Esto también hace que sea realmente fácil anular las páginas de error para un vhost específico (al no incluir la inclusión en esa configuración de vhost).

womble
fuente