nginx - Могу ли я настроить документ глобальной ошибки?

7

У меня есть конфигурация nginx с целой кучей server {}блоков. Я хочу разделить страницы ошибок между ними всеми, но у многих из них есть различные корни документа. Я могу использовать конфигурацию как

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

за пределами блоков сервера, и он становится общим, но тогда я должен поместить эти же документы во все корни, или есть правила, такие как

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

во всех моих блоках сервера.

Есть ли способ поделиться этими документами, не повторяя себя снова и снова или имея много копий в файловой системе?

Бестолковые
источник

Ответы:

12

Используйте магию директивы include, чтобы указать все необходимые шаблоны, а затем только include /etc/nginx/standard-error-pages.confдля каждого vhost (сделайте его частью стандартного шаблона vhost в вашей системе управления конфигурациями). Это также упрощает переопределение страниц с ошибками для определенного vhost (без включения включения в эту конфигурацию vhost).

romble
источник