Close-up of a yellow industrial robotic arm in action at a modern manufacturing facility.
Техническое 7 мин. чтения

Webhook-уведомления об истечении доменов: руководство разработчика по автоматизированному мониторингу

March 26, 2026

Постоянный опрос API каждые несколько минут для проверки статуса домена - это расточительно и ненадёжно. Webhook-уведомления полностью переворачивают эту модель. Вместо того чтобы ваши системы постоянно спрашивали, не изменилось ли что-нибудь, сервис мониторинга отправляет обновления на ваш эндпоинт в тот момент, когда происходит изменение. Для управления доменами это означает мгновенные оповещения при изменении дат истечения, обновлении записей WHOIS или изменении блокировок передачи. Согласно исследованию Catchpoint 2025 года, 73% сбоев, связанных с DNS, вызваны истёкшими или неправильно настроенными доменами. Вебхуки дают инженерным командам сигналы в реальном времени, необходимые для предотвращения таких сбоев до того, как пользователи их заметят. В этом руководстве рассматривается, как работают вебхуки для мониторинга истечения доменов, как защитить их с помощью подписей HMAC и как интегрировать их со Slack, PagerDuty или вашими собственными конвейерами автоматизации.

Что такое webhook-уведомления?

Вебхук - это HTTP POST-запрос, отправляемый сервером на указанный вами URL при наступлении определённого события. В отличие от традиционного поллинга, при котором ваше приложение многократно опрашивает API в поисках обновлений, вебхуки доставляют данные только тогда, когда что-то действительно меняется. Такой событийный подход сокращает избыточный сетевой трафик и обеспечивает практически мгновенное уведомление о важных изменениях состояния. В контексте мониторинга доменов вебхук срабатывает, когда меняется дата истечения домена, обновляются данные WHOIS или домен переходит в период восстановления (grace period) или выкупа (redemption period). Ваш принимающий эндпоинт обрабатывает полезную нагрузку и запускает любое необходимое действие - будь то сообщение в Slack, обновление базы данных или автоматизированный процесс продления.

  • Мгновенная доставка - без задержки поллинга между событием и уведомлением
  • Сокращение вызовов API - ваш сервер обрабатывает только реальные изменения
  • Надёжная последовательность - события поступают по порядку с временными метками
  • Гибкая маршрутизация - отправляйте разные доменные события на разные эндпоинты
  • Богатая полезная нагрузка - каждое уведомление содержит полный контекст, поэтому дополнительные API-запросы почти не нужны

Доменные события, заслуживающие мониторинга

Не каждое изменение в WHOIS одинаково важно. Самое критичное событие - приближающаяся дата истечения. Большинство регистраторов отправляют собственные напоминания о продлении, но эти письма часто попадают в папку спама или приходят на адрес, который уже никто не проверяет. Анализ Dynadot за 2024 год показал, что примерно 25% случайных потерь доменов происходили из-за устаревшего контактного адреса электронной почты регистранта. Вебхук-уведомления полностью устраняют эту проблему, отправляя оповещения в инфраструктуру, за которой ваша команда действительно следит, - например, в канал Slack или платформу управления инцидентами.

Помимо дат истечения, существует ряд доменных событий, которые стоит отслеживать через вебхуки. Изменения статуса блокировки трансфера заслуживают внимания, поскольку отсутствие флага clientTransferProhibited означает, что кто-то может инициировать несанкционированный перенос домена. Изменения серверов имён могут указывать на попытку перехвата или случайную ошибку конфигурации. Смена регистратора сигнализирует о переносе домена, что важно, если вы отслеживаете домены конкурентов или следите за приобретениями. Изменения приватности WHOIS могут раскрыть смену владельца. Наконец, изменения кодов статуса, такие как clientHold или serverHold, означают, что домен перестал резолвиться, - а это экстренная ситуация для любого рабочего сервиса.

Настройка вебхуков для отслеживания истечения доменов

Настройка приёмника вебхуков занимает около пятнадцати минут для базовой реализации. Вам нужен HTTPS-эндпоинт, который принимает POST-запросы, разбирает JSON-полезную нагрузку и быстро возвращает код статуса 200. Ключевое слово - быстро. Отправители вебхуков обычно устанавливают тайм-ауты от 5 до 30 секунд. Если ваш эндпоинт отвечает слишком долго, отправитель может повторить запрос, что приведёт к дублированию обработки. Лучшая практика - немедленно подтвердить получение и обрабатывать данные асинхронно через очередь задач. Такие инструменты, как DomainExpiryCheck.com, позволяют настроить URL вебхука в параметрах аккаунта, указать интересующие вас события и протестировать подключение перед запуском в работу.

Ваш эндпоинт должен валидировать каждый входящий запрос перед обработкой. Начните с проверки заголовка Content-Type, чтобы убедиться, что это application/json. Разберите полезную нагрузку и проверьте наличие обязательных полей - тип события, имя домена и временная метка. Логируйте каждый входящий вебхук, включая те, которые не прошли валидацию, потому что эти логи становятся незаменимыми при отладке. Реализуйте идемпотентность, отслеживая идентификаторы событий, чтобы повторные доставки не вызывали дублирующих действий. Если вы работаете за балансировщиком нагрузки или обратным прокси, убедитесь, что диапазоны IP-адресов отправителя вебхуков не блокируются вашим файрволом или ограничителем частоты запросов.

Безопасность вебхуков и подпись HMAC

Незащищённый эндпоинт вебхука - это открытая дверь. Любой, кто обнаружит ваш URL, может отправить поддельные данные, чтобы спровоцировать ложные оповещения или, что хуже, манипулировать вашими процессами автоматизации. Подпись HMAC-SHA256 решает эту проблему. Отправитель вебхука и ваш сервер используют общий секретный ключ. При каждой отправке отправитель вычисляет хеш тела запроса с использованием этого секрета и включает подпись в заголовок. Ваш сервер пересчитывает хеш с тем же секретом и сравнивает два значения. Если они совпадают - запрос подлинный. Если нет - вы его отклоняете. Это тот же механизм, который Stripe, GitHub и Slack используют для собственных вебхуков. Согласно отчёту OWASP по безопасности API за 2024 год, неподписанные вебхуки входят в топ-10 API-уязвимостей, эксплуатируемых в рабочих системах.

  • Всегда используйте HMAC-SHA256 или более стойкий алгоритм - никогда MD5 или простой SHA1
  • Сравнивайте подписи с помощью функции сравнения с постоянным временем для предотвращения атак по времени
  • Периодически меняйте секрет вебхука и обновляйте его на обеих сторонах
  • Отклоняйте запросы с временными метками старше 5 минут для предотвращения атак воспроизведения
  • Используйте исключительно HTTPS - никогда не принимайте вебхуки по незашифрованному HTTP
  • Храните секрет вебхука в переменных окружения, а не в исходном коде
  • Логируйте отклонённые запросы с их IP-адресом источника для аудита безопасности

Интеграция со Slack и инструментами автоматизации

Простейшая интеграция - пересылка вебхуков об истечении доменов в канал Slack. Функция Incoming Webhooks в Slack предоставляет URL, который принимает JSON-полезную нагрузку и публикует её в виде сообщений. Вы можете создать небольшой промежуточный сервис, который получает вебхуки мониторинга доменов, форматирует их в структуру Block Kit от Slack и пересылает дальше. Для более сложных рабочих процессов такие инструменты, как Zapier, Make или n8n, могут принимать ваши вебхуки и направлять их в сотни сервисов без написания кода. Типичная схема направляет предупреждения об истечении доменов одновременно в Slack для наглядности и в систему управления проектами вроде Jira или Linear для отслеживания. Для инженерных команд, предпочитающих код, хорошо подойдёт простой сервис на Node.js или Python, работающий как облачная функция. Функция валидирует подпись HMAC, проверяет тип события и отправляет оповещения соответственно. Более продвинутые схемы включают интеграцию с PagerDuty для критически важных доменов или запуск автоматических скриптов продления через API регистраторов. DomainExpiryCheck.com поддерживает тестирование вебхуков, поэтому вы можете отправить тестовую полезную нагрузку и убедиться, что ваша интеграция работает корректно, прежде чем полагаться на неё для рабочих оповещений.

Начните мониторинг ваших доменов сегодня

Отслеживайте сроки истечения доменов, получайте уведомления до окончания регистрации и никогда не теряйте домен. Бесплатно для {limit} доменов.

Начать бесплатный мониторинг