Назад | Перейти на главную страницу

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

У меня есть конфигурация 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;
}

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

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

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