Что вызывает «размер поля заголовка запроса превышает предел» 400 ошибок неправильного запроса?

Я обнаружил, что некоторые посетители моих веб-сайтов получают сообщения об ошибке «400 неверных запросов». Мне не удалось воспроизвести проблему, поэтому ее чрезвычайно сложно исправить.

Изучив журналы сервера, можно сделать вывод, что некоторые пользователи заходят на сайт, загружают страницу и, возможно, несколько других, но затем получают 400 ошибок неправильного запроса.

Я пока не смог обнаружить закономерность в ошибках. Кажется, они не привязаны к какому-либо устройству, браузеру или времени суток. Ошибки 400 возникают как на страницах, так и в файлах изображений.

Сайт, который я использую, основан на WordPress. Я пробовал деактивировать все плагины и переключиться на другую тему, но из журналов сервера вижу, что ошибки продолжались в течение этого периода.

Мне удалось связаться с несколькими пользователями, у которых возникла проблема. Они сказали, что получили следующее сообщение об ошибке:

«Ваш браузер отправил запрос, который этот сервер не смог понять. Размер поля заголовка запроса превышает лимит».

Мы увеличили размеры big_client_header_buffers и LimitRequestFieldSize, но это опять же не дало никакого эффекта.

Похоже, что если пользователи, у которых возникла проблема, очистят свои файлы cookie, проблема исчезнет. Но мне нужно решение, которое я могу реализовать на сайте, которое решит проблему для всех пользователей. Может ли кто-нибудь подсказать, что мне следует делать, или хотя бы указать мне направление какой-либо полезной информации, которая могла бы помочь мне разобраться в сути проблемы?

1 ответ

Я получал ту же ошибку, когда нажимал на веб-перехватчики (точнее, Lago webhookapi).

Я решил вышеизложенное, используя подпись HMAC вместо подписи JWT для веб-перехватчиков.

(В подписи JWT проблемы с ограничением размера могут возникнуть из-за полезных данных заголовка. В подписи HMAC проблем с ограничением размера нет, поскольку полезные данные заголовка короче)

Другие вопросы по тегам