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

Запросы большого RSS-канала к несуществующему URL-адресу вызывают ошибку 404 (и высокую нагрузку)

Недавно у меня был запущен новый сайт, полностью заменивший предыдущий.

У нас есть cloudflare впереди и мы переключили имя хоста на новый IP-адрес сайта.

Мгновенно мы увидели, что нагрузка превысила 200+ и постоянный поток HTTP-ответов 404 со скоростью около 25 Мбит / с (я думаю, не был выше, поскольку ядра ЦП были на максимуме).

Из того, что я мог видеть, было много обращений в секунду к rss.xml (которого больше не существовало на новом сайте, тогда как на старом).

Этот запрос, в свою очередь, поступал в WordPress, инициируя последовательность загрузки WP, которая загружала некоторые плагины (с подозрительно неработающим кодом), и огромное количество запросов в секунду вызывало очень высокую нагрузку на сервер.

Чтобы предотвратить это в будущем:

  1. Можно ли через nginx ограничить скорость запросов к этому URL-адресу RSS (или любому другому URL-адресу)?

  2. Есть ли способ предотвратить отключение сервера и быстрый выход WordPress, если файл не найден, в отличие от загрузки некэшированных страниц (и всех последующих плагинов), чтобы он мог отображать страницу 404?