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;
가상 호스트 구성에서.