Чтобы сделать режим обслуживания более гибким, установите 503, когда существует специальный файл, ala:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/.maintenance -f
RewriteRule .* - [R=503]
ПРИМЕЧАНИЕ. Расположение DOCUMENT_ROOT может отличаться в зависимости от httpd 2.2 и 2.4.
Таким образом, все, что вам нужно сделать, это «нажать /path/to/docroot/.maintenance», и ваш сайт немедленно начнет возвращать 503. Затем, чтобы все закончилось, создайте пользовательскую страницу с ошибкой в формате HTML и добавьте ее в правильный файл конфигурации сервера Apache:
ProxyErrorOverride on
ErrorDocument 503 /error/503.html
А для бонусных баллов, если у вас есть несколько веб-серверов, либо укажите местоположение .maintenance в общей файловой системе, либо для еще большего количества бонусных баллов:
pdsh -w $web1_ip,$web2_ip,$web3_ip "sudo touch /path/to/docroot/.maintenance"
Преимущество создания файла режима обслуживания состоит в том, что он работает, когда ваше приложение не работает, он быстр и прост, а кеширующий прокси-сервер внешнего интерфейса легче обрабатывать, поскольку вы можете обрабатывать все серверные 503 одним махом.
Источники: