Задача: быстро перевести сайт в режим обслуживания через nginx конфиг.
1 вариант — правильный (503 ошибка)
Данный способ будет возвращать 503 код ответа, что сразу даёт понять, что сайт временно не работает.
Создаём файл /etc/nginx/snippets/maintenance.conf
с содержимым:
error_page 503 /maintenance.html; location = /maintenance.html { root /etc/nginx/error/; internal; } if (-f /etc/nginx/error/maintenance.html) { return 503; }
Создаём html файл /etc/nginx/error/maintenance.html
с информационной страницей об обслуживании.
В файл виртуального хоста в секцию location /
вставляем строку include snippets/maintenance.conf;
location / {
include snippets/maintenance.conf;
...
}
Готово. Перезагружаем nginx, не забыв проверить правила:
nginx -t && service nginx reload
Если надо отключить режим обслуживания, то просто закоменчиваем эту строку.
2 вариант — не правильный
Второй вариант будет отдавать код ответа 200 или 304, что не совсем является правильным для режима обслуживания.
Необходимо добавить следующий location
перед основным location /
. Если локейшны дублируется, то основной переименовать.
location ~ / {
root /etc/nginx/error/;
rewrite ^ /maintenance.html break;
}