私は Nginx で複数の Angular アプリをホストしています。それらはすべて独自のコンテナーで実行され、コンテナーがオフラインの場合は、/var/www/maintenance/ にあるメンテナンス ページを表示します。これを行うには、仮想ホスト構成ファイルは通常次のようになります (無関係な部分は省略)。
server {
...
location / {
proxy_pass http://127.0.0.1:8099;
proxy_set_header X-FORWARDED-FOR $proxy_add_x_forwarded_for;
proxy_set_header X-FORWARDED-HOST $host;
proxy_set_header X-FORWARDED-PROTO $scheme;
proxy_connect_timeout 1;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504 http_404;
proxy_intercept_errors on;
try_files $uri $uri/ /index.html;
}
error_page 403 501 502 503 504 /maintenance.html;
location = /maintenance.html {
root /var/www/maintenance;
}
}
これは問題なく動作しますが、変更が必要な場合には面倒です。この機能をメインの nginx.conf に実装したり、メンテナンスしやすくするにはどうすればよいでしょうか。メンテナンス ページの構成をすべての仮想ホスト構成に含めるのではなく、すべての仮想ホスト構成を含む nginx.conf に一度含めることはできますか。
答え1
次の内容を含む新しい構成ファイルを追加しますmaintenance.conf
。
location = /maintenance.html {
root /var/www/maintenance;
}
そして、
include /path/to/maintenance.conf;
仮想ホスト構成で。