Назад | Перейти на главную страницу

Как настроить apache httpd для ответа HTTP 200 с пустым телом по определенному URL-адресу?

Для нашей среды мы должны проверить доступность сервера Apache httpd. Мы не хотим создавать для него пустые страницы в documentRoot, и мы не можем yse mod_status (причина безопасности).

Есть ли возможность настроить apache для ответа всегда HTTP 200 по определенному URL-адресу? лайк:

<location /heart_beat.html>
   Return 200
</location>

Apache 2.2 (mod_ssl, mod_proxy, виртуальные хосты)

mod_alias может вернуть 204, что является пустой страницей.

RedirectMatch 204 /heart_beat.html

Очевидным решением было бы создать псевдоним в вашей конфигурации и разместить пустую страницу состояния за пределами корневого каталога документов, чтобы она не конфликтовала с URL-адресом, который может создать ваша CMS или веб-мастер.

 # Unlikely URL used by loadbalancer for polling
 Alias /sdfjkleruiwbns/dfasdfhasdfjkggfhjfgasqeuryuwerpvbbv/ /var/www/loadbalancer/

По поводу опроса балансировщиками:

Балансировщики нагрузки будут регулярно опрашивать внутренние серверы. Результаты опроса определят, исправен ли внутренний сервер, и будет ли балансировщик нагрузки отправлять запросы на данный сервер или нет.

Самый простой поддерживаемый мониторинг - это простая проверка TCP-соединения, чтобы определить, ожидает ли служба соединений. Обычно этот тест не является надежным на 100%, поскольку нередко слушатель остается активным, когда фактическое приложение не отвечает.

Гораздо лучшей проверкой веб-службы было бы получение действительного URL-адреса, т.е. http: //server.local/some/path/page.htm когда этот URL-адрес может быть получен, балансировщик нагрузки считает узел активным.

Вместо статического HTML еще лучше использовать динамическую страницу состояния, но это может быть больше настроек, чем требуется / поддерживается. Если все в порядке, возвращается зеленый свет и HTTP-статус 200, в противном случае HTTP-статус 503 отправляется оранжевым или красным светом. Затем страница работоспособности обычно проверяет соблюдение всех необходимых условий для запуска приложения, например он может записывать во временное пространство, подключаться к серверной базе данных, лицензия действительна, максимальная длина очереди еще не достигнута и т. д. и т. д., пока опрос этой страницы состояния не приведет к эффективному отказу обслуживания конечно…