400 bad request nginx — как исправить ошибку

Ошибка 400 bad request nginx означает, что сделан неверный запрос. Если речь идет о запросах к базе данных или API — причина может быть в работе бэкенда. Например, недостаточное количество знаков в  поле БД.



В случае если ошибка возникает при обращении к главной странице сайта — причина обычно в Nginx и размерах буферов.



Ошибка 400 bad request nginx

Объем заголовков в запросе может быть различным. Если он велик и лимит, установленный в конфигурации, не позволяет их обработать — возникнет ошибка.


Ошибка исправляется добавлением в секцию http конфигурационного файла nginx.conf следующей директивы:

large_client_header_buffers 2 12k;



Затем перечитывается конфигурация веб-сервера

nginx -s reload



Дополнительно можно проверить логи Nginx

less /var/log/nginx/error.log



Если ошибка возникает периодически — в логе доступа можно найти при помощи grep все случаи получения ответа 400, затем сопоставить данные с записями в error.log.

В access.log будут запросы, которые выполнялись при обращении к сайту.



Также есть другие буферы Nginx, на которые стоит обратить внимание. Особенно если сервер обслуживет нагруженный проект.