nginx - Dapatkah saya mengonfigurasi dokumen kesalahan global?

7

Saya memiliki konfigurasi nginx dengan sejumlah server {}blok. Saya ingin berbagi halaman kesalahan di antara mereka semua, tetapi banyak dari mereka memiliki akar dokumen yang berbeda. Saya dapat menggunakan konfigurasi seperti

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

di luar blok server dan dibagikan, tetapi kemudian saya harus meletakkan dokumen-dokumen yang sama di semua root, atau memiliki aturan seperti

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

di semua blok server saya.

Apakah ada cara untuk membagikan dokumen-dokumen ini tanpa berulang-ulang atau memiliki banyak salinan di sistem file?

Tidak mengerti
sumber

Jawaban:

12

Gunakan keajaiban dari directive include untuk menentukan semua boilerplate yang diperlukan, kemudian cukup include /etc/nginx/standard-error-pages.confdi setiap vhost (jadikan itu bagian dari template vhost standar di sistem manajemen konfigurasi Anda). Ini juga membuatnya sangat mudah untuk mengganti halaman kesalahan untuk vhost tertentu (dengan tidak memasukkan include ke dalam konfigurasi vhost itu).

womble
sumber