На серверах нашей компании из соображений безопасности наш главный системный администратор разрешает прохождение только нескольких HTTP-методов, таких как ( GET
, POST
, OPTIONS
, PUT
, и т. д.), и HEAD
не является одним из них.
Я реализовал Zabbix
на них мониторинг, чтобы проверить, правильно ли он пингуется и не упал ли домен. Теперь я получаю все заголовки ответов и тела ответов и проверяю, возвращает ли он 200 OK или нет.
Проблема в том, что из-за большого количества запросов в секунду и тайм-аутов я получаю много ложных ошибок, поэтому я не хочу тратить свою полосу пропускания на получение всех заголовков ответа и тела ответа только для того, чтобы проверить, не работает ли веб-сайт, и из-за HEAD
запрета я не могу сделать что-то вроде curl -I
(что отправляет HEAD
HTTP
запрос и получает только заголовок ответа, чтобы я мог проверить, возвращает ли он 200 OK).
Как отправить GET HTTP
запрос, но получить только заголовок ответа через curl?
решение1
Если вы боитесь, что ваш сайт не справится с нагрузкой от вашего инструмента мониторинга, то, на мой взгляд, у вас есть более серьезные проблемы для беспокойства...
Но вместо того, чтобы просто извлечь главную (большую) страницу индексасоздать маловероятный URL-путь с пустым файломи использовать это для мониторинга.
Монитор напримерhttp://www.example.com/wfujhtdvbhujnngre/fghbbvffvgghpoiklmx/status.txt
Это имеет дополнительное преимущество, поскольку позволяет избежать завышенных показателей просмотров страниц, так как запросы для этого URL-адреса можно легко исключить при формировании статистики посещений.