为什么我会收到 400 错误?节点、Express、ReactJS
Why am I getting 400 errors? Node, Express, ReactJS
最近,我从我的 reactJS 服务 url 收到了 400 个错误,但我没有在我的其他微服务上收到它们。这是我尝试过的:
正在调查 express
以查明 400 错误是否来自那里,但没有成功。
深入研究 React 代码,应该不会出现 400 错误。
查看 chrome 控制台....但它什么也没有。
我的服务器上什至看起来都没有收到任何日志,所以好像它从未命中,所以那里没有日志。
我的节点版本是 10.15.3 但我所有其他微服务都是 10.13.0。
为什么我的 react/express NextJS 微服务出现 400 错误?
2018 年 11 月发布的 PR 是对最大 header 大小的重大更改。 Headers 大小只能是 8kb。
受影响的节点版本是 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/)
你可以做以下两件事之一...
减少到 v10.13.0
添加标志--max-http-header-size=10000
背景
为了避免 DoS 攻击,最大大小从 80kb 减少到 8kb。如果您的网站上有很多 cookie,您将收到 400 错误,而没有太多输出。在此处阅读有关 PR 和讨论的更多信息:https://github.com/nodejs/node/issues/24692 and here is the PR (https://github.com/nodejs/node/commit/92231a56d9)
测试
要对此进行测试,您可以使用带有超过 8kb 的巨大 cookie 的 curl 请求,您应该会收到 400 错误。调整此最大值后,它应该可以工作。
最近,我从我的 reactJS 服务 url 收到了 400 个错误,但我没有在我的其他微服务上收到它们。这是我尝试过的:
正在调查
express
以查明 400 错误是否来自那里,但没有成功。深入研究 React 代码,应该不会出现 400 错误。
查看 chrome 控制台....但它什么也没有。
我的服务器上什至看起来都没有收到任何日志,所以好像它从未命中,所以那里没有日志。
我的节点版本是 10.15.3 但我所有其他微服务都是 10.13.0。
为什么我的 react/express NextJS 微服务出现 400 错误?
2018 年 11 月发布的 PR 是对最大 header 大小的重大更改。 Headers 大小只能是 8kb。
受影响的节点版本是 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/)
你可以做以下两件事之一...
减少到 v10.13.0
添加标志
--max-http-header-size=10000
背景
为了避免 DoS 攻击,最大大小从 80kb 减少到 8kb。如果您的网站上有很多 cookie,您将收到 400 错误,而没有太多输出。在此处阅读有关 PR 和讨论的更多信息:https://github.com/nodejs/node/issues/24692 and here is the PR (https://github.com/nodejs/node/commit/92231a56d9)
测试
要对此进行测试,您可以使用带有超过 8kb 的巨大 cookie 的 curl 请求,您应该会收到 400 错误。调整此最大值后,它应该可以工作。