Почему я получаю 400 ошибок?Узел, Экспресс, ReactJS - PullRequest
0 голосов
/ 06 мая 2019

В последнее время я получаю 400 ошибок от моих URL-адресов службы реагировать, но я не получаю их на других моих микросервисах. Вот что я попробовал:

  1. Изучите express, чтобы узнать, исходят ли 400 ошибок, но безуспешно.

  2. Копаясь в коде реакции, оттуда не должно поступать 400 ошибок.

  3. Глядя в хромированную консоль .... но она ничего не имеет.

  4. Это даже не похоже на то, что я получаю какие-либо журналы на моем сервере, так что похоже, что он никогда не срабатывает, поэтому никаких журналов там нет.

Версия моего узла 10.15.3 , но все остальные мои микросервисы 10.13.0 .

Почему я получаю 400 ошибок от своего микросервиса реагировать / экспрессировать NextJS?

1 Ответ

0 голосов
/ 06 мая 2019

В ноябре 2018 года был сделан PR, который был переломным изменением максимального размера заголовка. Заголовки могут быть только 8 КБ.

Влияет версии узлов: v6.15.0, v8.14.0, v10.14.0, v11.3.0 (см. https://www.nearform.com/blog/protecting-node-js-from-uncontrolled-resource-consumption-headers-attacks/)

Вы можете сделать одну из двух вещей ...

  1. Уменьшить до v10.13.0

  2. Добавить флаг --max-http-header-size=10000

Фон

Во избежание DoS-атак максимальный размер был уменьшен с 80 до 8 КБ. Если на вашем сайте много файлов cookie, вы получите 400 ошибок без особого вывода. Подробнее о пиаре и обсуждениях читайте здесь: https://github.com/nodejs/node/issues/24692, а вот пиар (https://github.com/nodejs/node/commit/92231a56d9)

Тестирование

Чтобы проверить это, вы можете использовать запрос curl с гигантским файлом cookie размером более 8 КБ, и вы должны получить ошибку 400. После настройки этого максимального значения, оно должно работать.

...