迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 网络 >

NodeJS & HTTP 错误码 431 Request Header Fields

作者:迹忆客 最近更新:2023/02/01 浏览次数:

我最近发现来自 Node JS 微服务的错误响应带有 HTTP 错误“431 Request Header Fields Too Large”,但起初它似乎是间歇性的,取决于所使用的测试环境。 进一步的调查发现它是最大标头大小的 Node 设置以及 Node JS 版本更改和一些大型 cookie。

Error 431 Request Header Fields Too Large HTTP 错误表示请求标头(包括 cookie)的总大小太大,Web 服务器无法接受。这通常发生在大型 cookie 已建立最大化请求大小的情况下。

在 2018 年,Node(版本 11.6.0)进行了更新,以解决该领域的一个安全漏洞 — 带有大型 HTTP 标头的拒绝服务 (CVE-2018–12121),这导致默认的最大请求标头大小减少到 8kb(从16kb),有趣的是选择了 8kb,因为它是当时 NGINX 的默认值。默认限制最终在 v13.13.0 中增加到 16kb,这意味着如果大家碰巧在 11.6 和 13.13 之间的 Node 版本上运行,那么大家就会面临 8kb 的限制,但在这些版本之前或之后不会有 8kb的限制,而会有 16kb 的限制——这是我最近碰到的情况。

如果大家的 node 安装的默认最大标头大小对自己不适用的话,那么可以使用 -max-http-header-size 参数配置新值,这是很容易的。

--max-http-header-size=16250

当然,我们也不应将此值设置得太高,而应针对自己的特定应用程序将其配置的值尽可能的低。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:154 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:134 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便