Это не ваш сайт? Если чужой сайт не открывается только у вас — попробуйте другой браузер, мобильный интернет и отключите VPN. Дальше на странице — разбор для владельца сайта.
Если вы посетитель сайта
- Очистите cookie только этого сайта: в настройках браузера найдите сайт в списке и удалите его данные. Остальные сайты трогать не нужно.
- Проверьте адрес: лишний символ
%, пробел или обрезанная ссылка из письма тоже дают 400. - Откройте сайт в другом браузере или в режиме инкогнито. Если там открылся, причина в cookie или расширениях вашего браузера.
Если ничего не помогло, напишите владельцу сайта, на какой странице и в какое время была ошибка.
Шаг 1. Выясните, у кого возникает ошибка
От ответа зависит, где искать.
- Только у части посетителей, а в режиме инкогнито всё работает. Почти всегда причина в размере cookie или заголовков запроса. Сайт или подключённые счётчики записывают в cookie слишком много данных, и запрос превышает лимит веб-сервера. В nginx это лимит
large_client_header_buffers(по умолчанию 8 КБ на одну строку заголовка), в Apache —LimitRequestFieldSize. Текст ошибки подсказывает: «Request Header Or Cookie Too Large» или «Size of a request header field exceeds server limit». Найдите, какой скрипт раздувает cookie, а лимит повышайте только после этого. - У всех и на одной странице или ссылке. Проверьте сам адрес: неправильно закодированные символы, обрезанные параметры, двойной слеш в правилах переадресации.
- У всех и на всём сайте. Смотрите конфигурацию веб-сервера и CDN. Типичный случай после переноса — сообщение «The plain HTTP request was sent to HTTPS port»: запрос по HTTP пришёл на порт, который ждёт HTTPS. Это ошибка в настройке сервера или прокси, а не в коде сайта.
Не хотите разбираться сами? Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно.
Отправить задачуШаг 2. Проверьте формы и загрузку файлов
Если 400 появляется при отправке формы, проверьте, что именно отправляется.
- Слишком большой файл обычно даёт не 400, а 413 Request Entity Too Large. Лимит задаётся
client_max_body_sizeв nginx (по умолчанию 1 МБ) иLimitRequestBodyв Apache. Если в ответе 413, увеличьте лимит под реальный размер файлов и предупредите об ограничении в самой форме. - 400 на форме часто означает, что истёк или не передан токен защиты формы: страница была открыта долго, или кеш отдал её с чужим токеном. Страницы с формами нельзя целиком кешировать для всех посетителей.
- Плагин или модуль формы может сам отвечать 400 на неверно заполненное поле. Тогда в ответе будет его сообщение, а не страница веб-сервера.
Шаг 3. Проверьте интеграции и API
Если ошибка появляется при оплате, отправке заказа в CRM или обмене с 1С, 400 обычно возвращает не ваш сайт, а внешний сервис: он получил запрос в неверном формате. Причины: изменились обязательные поля после обновления модуля, неверная сумма или валюта, пустой параметр, устаревший ключ API. Ответ сервиса с текстом ошибки записывается в журнал модуля оплаты или интеграции. Без этого текста искать причину вслепую. Про сбои оплаты подробнее: магазин не принимает оплату.
Шаг 4. Посмотрите журналы
В журнале доступа веб-сервера найдите запросы с кодом 400 и посмотрите, какие адреса и в какое время. В журнале ошибок nginx рядом с ними обычно написана причина. Если 400 отдаёт CDN, событие видно в его панели. Если приложение, — в журнале CMS или модуля.
Когда нужен специалист
- Ошибка возникает у части клиентов, и непонятно, какой скрипт раздувает cookie.
- 400 возвращает платёжный сервис или CRM, а журнал модуля пустой.
- После переноса сайта ошибка у всех, а доступа к настройкам сервера нет.
Сколько стоит решение у нас
| Задача | Время | Стоимость |
|---|---|---|
| Исправление ошибки | 1–2 ч | 3 800–7 600 ₽ |
| Диагностика и восстановление | около 2 ч | 7 600 ₽ |
| Простая интеграция с CRM или API | от 4 ч | от 15 200 ₽ |
Диапазоны ориентировочные, ставка 3 800 ₽ в час. Точную оценку присылаем до начала работ. Все цены.
Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.
Отправить задачуЧастые вопросы
Сколько стоит исправить ошибку 400?
Исправление ошибки обычно занимает 1–2 ч — это 3 800–7 600 ₽ по ставке 3 800 ₽ в час. Оценку присылаем до начала работы, а для новых клиентов первая задача до 2 часов бесплатно.
Чем 400 отличается от 403 и 404?
400 — сервер не понял запрос. 403 — понял, но не пускает: подробнее в разборе ошибки 403. 404 — понял, но такой страницы нет. Сводная таблица кодов — на странице HTTP-ошибки.
Опасно ли просто увеличить лимит заголовков на сервере?
Немного увеличить можно, но это лечит симптом. Если cookie продолжат расти, ошибка вернётся, а большие заголовки замедляют каждый запрос к сайту. Сначала найдите, какой скрипт пишет лишнее.