Что означает ошибка HTTP 429 и как ее исправить

Как владелец веб-сайта вы время от времени сталкиваетесь с сообщением об ошибке. Некоторые из этих ошибок будет относительно просто исправить, а другие – сложно. Возьмем, к примеру, ошибку HTTP 429.

Что означает ошибка HTTP 429 и как ее исправить

Устранение этой ошибки затруднено, поскольку она содержит мало подробностей. Вы знаете, что что-то не так, и вам нужно это исправить, но вы не совсем уверены, что произошло и почему.

Чтобы убедиться, что вы понимаете и можете решить эту проблему, мы рассмотрим, что означает ошибка 429 и каковы ее наиболее распространенные решения.

Что такое ошибка HTTP 429?

Ошибка HTTP 429 – это код состояния ответа HTTP, который указывает, что клиентское приложение превысило предел скорости или количество запросов, которые они могут отправить за определенный период времени. Обычно этот код не просто сообщает клиенту о прекращении отправки запросов – он также указывает, когда они могут отправить другой запрос.

Ответ 429 технически не является ошибкой – это ответ сервера, интерфейса прикладного программирования (API) или плагина, который сообщает клиентскому приложению о прекращении отправки запросов, потому что у них просто недостаточно ресурсов для его приема в это время. Клиентское приложение обычно относится к веб-сайту или приложению, но также может относиться к отдельным пользователям, таким как администратор сайта, посетитель сайта или хакер.

Например, если пользователь слишком часто пытается получить доступ к странице на вашем веб-сайте в течение короткого периода времени, ваш сервер может отправить ошибку 429. В случае попытки грубой силы входа в систему, когда хакер неоднократно пытается войти на ваш сайт, ограничение скорости является важной мерой безопасности. Но ограничение скорости также сработает, если ваш сайт использует слишком много ресурсов на сервере или службе общего хостинга. Если, например, с IP-адреса получено более 50 запросов в течение одной минуты, PayPal Sandbox заблокирует этот IP-адрес на следующие пять минут.

Хотя ответ 429 может показаться карательным, на самом деле это защитная мера от пользователей, намеренно или случайно злоупотребляющих ресурсами сервера (или API, плагина или другой службы). Он разработан для предотвращения резервного копирования или переполнения запросов, которые могут перегрузить сервер или другую службу, которая предназначена для совместного использования и использования многими веб-сайтами и приложениями. Таким образом, контролируя количество и время запросов, ограничения скорости предотвращают проблемы до их возникновения.

Если вы видите ошибку HTTP 429 на своем сайте по другим причинам, вам может потребоваться уменьшить количество запросов к серверу или вызовов API, которые вы делаете. Обсуждаемые ниже шаги являются общими исправлениями ошибки 429 Too Many Requests. Если у вас есть сайт WordPress, вам могут потребоваться специальные решения для WordPress.

Как исправить ошибку HTTP 429

Большинство приведенных ниже шагов направлены на предотвращение, а не на исправление ошибки HTTP 429 задним числом. Взглянуть.

1 Дождитесь отправки другого запроса.

Самый простой способ исправить ошибку HTTP 429 – дождаться отправки другого запроса. Часто этот код состояния отправляется с заголовком «Retry-after», который указывает период времени ожидания перед отправкой другого запроса. Он может указывать всего несколько секунд или минут.

Вот пример, который просит клиента подождать час перед отправкой другого запроса.

2 Реализуйте экспоненциальный откат.

Если заголовок «Retry-after» не отправляется, и вы не знаете, сколько времени ждать перед попыткой, вам следует реализовать повторные попытки с экспоненциальным откатом. Используя этот подход, ваше приложение не будет немедленно повторять неудавшийся запрос; вместо этого он выполнит серию повторных попыток с постепенно увеличивающимся временем ожидания между каждой попыткой. Когда запрос будет окончательно принят, вы узнаете, какое время или скорость ожидания приемлемы.

Вы можете добавить код для реализации этого подхода или использовать такой инструмент, как Celery, который имеет встроенную функцию экспоненциальной задержки.

Что означает ошибка HTTP 429 и как ее исправить

3 Установите свой собственный предел дросселирования.

Регулирование – это процесс ограничения количества запросов, которые приложение может отправить за определенный промежуток времени. Если этот предел превышен, запросы к серверу или API обычно отбрасываются или выполняются с кэшированными данными.

Хотя этот подход чаще всего используется сторонними API или платформами для предотвращения превышения клиентскими приложениями своих ограничений, он также может быть полезен для ограничения вашего собственного потребления сторонних API или ресурсов сервера. Фактически, вы можете установить более строгий лимит регулирования для себя, чтобы предотвратить выход за пределы сервера, API или другой службы, которую вы используете. Это особенно хорошая идея, если вы используете дорогостоящий API, например Twitter API, и не хотите выходить за рамки своей политики использования.

4 Свяжитесь с вашим хостинг-провайдером.

Обращение к вашему хостинг-провайдеру – это всегда вариант для любой ошибки на вашем веб-сайте, но это должен быть один из последних вариантов, которые вы пробовали.

Если вы попробовали описанные выше действия и по-прежнему видите ошибку 429, возможно, причина возникла на вашем сервере, а не на вашем веб-сайте. Также возможно, что ваш хост блокирует запросы от определенных сторонних сервисов или платформ, таких как Google Search Console, которая делает множество запросов к веб-сайтам. Обратившись к вашему провайдеру, он может решить проблему или предоставить ценную информацию.

Устранение ошибки HTTP 429

Ошибка HTTP 429 является распространенным явлением, но ее можно избежать, если обратить внимание на ограничения скорости, установленные вашим сервером, API, плагином или другими. Если вы превысите эти ограничения, вы можете предпринять шаги для устранения ошибки 429. Поступая таким образом, вы продолжите предоставлять посетителям удобство работы с вашим сайтом.

При переходе на какой-либо сайт, или выборе какого-либо из подразделов сайта, пользователь может столкнуться с сообщением «Request Header Or Cookie Too Large», при этом дальнейший переход по выбранной ссылке становится невозможен. Обычно это связано с повреждёнными куками данного сайта на пользовательском ПК, но также возможна ситуация, когда в появлении проблемы виноваты некорректные настройки данного ресурса, установленные веб-мастером.

Скриншот ошибки Request Header

Также может возникать ошибка 404 описанная нами ранее.

Что это за ошибка и каковы и её причины

Перевод текста ошибки выглядит как «Заголовок запроса или куки слишком большие». Обычно это обозначает ситуацию, когда при запросе браузером доступа к какому-либо ресурсу сервер обнаруживает, что куки данного ресурса, хранящиеся на пользовательском ПК, слишком большие или повреждены. Сервер отказывает в обработке запроса, что сопровождается сообщением «400 bad request» («400 неверный запрос»), а также упомянутым мной месседжем.

Данная ошибка является типичной для серверов nginx (т. е. серверов, работающих на подобных к Unix операционных системах). После её появления доступ к запрошенному сайту (или его подразделу) становится невозможен, перезагрузка же проблемной страницы через Ctrl+F5 обычно ничего не даёт.

Кроме повреждённых куков, причиной появления данной дисфункции могут быть следующие детерминанты:

Как исправить 400 Bad Request

При попытке избавиться от возникшей проблемы важно учитывать, что проблема может быть как у вас (если вы обычный пользователь), так и на самом ресурсе. Потому если вы использовали все нижеприведённые советы для пользователя, и ничего не помогло, тогда, возможно, стоит обратиться с письмом в техническую поддержку ресурса (или непосредственно веб-мастеру), и обрисовать возникшую проблему.

Для решения проблемы «Cookie Too Large» следует выполнить следующее:

Это реализуется следующей записью:

Настройки параметра nginx

Заключение

Решением данной проблемы Request Header Or Cookie Too Large со стороны пользователя является удаление куков проблемного сайта на компьютере пользователя. А со стороны администрации ресурса эффективным способом решения проблемы станет изменение параметра «large_client_header_buffers» в nginx. В большинстве случаев реализация данных советов помогает избавиться от возникшей ошибки, возобновив полноценную работу с сайтом на вашем ПК.

Источники:

https://themewp. inform. click/chto-oznachaet-oshibka-http-429-i-kak-ee-ispravit/

https://rusadmin. biz/oshibki/kak-ispravit-request-header-or-cookie-too-large/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: