Щоб зробити режим обслуговування більш гнучким, встановіть 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
А для бонусних очок, якщо у вас є декілька веб-серверів, або зробіть розташування технічного обслуговування в спільній файловій системі, або для ще більше бонусних балів:
pdsh -w $web1_ip,$web2_ip,$web3_ip "sudo touch /path/to/docroot/.maintenance"
Перевага створення файлу режиму технічного обслуговування полягає в тому, що він працює, коли ваша програма не працює, це швидко і просто, і керувати проксі-сервером керування фронтедом простіше, оскільки ви можете обробляти всі запуски 503 за один мах.
Джерела: