NestJs请求标头大小错误Http代码431

时间:2020-08-08 20:24:41

标签: node.js nestjs nvm

我正在尝试使用NestJs开发API。当作为HTTP标头传递的承载令牌太长(大约2400个字符)时,我收到Http错误代码431。但是,当承载令牌大约为1200个字符时,它就可以工作。我们可以做些设置来增加页眉大小限制吗?我正在使用nodejs12

1 个答案:

答案 0 :(得分:0)

HTTP 431 Request Header Fields Too Large响应状态代码表示服务器拒绝处理请求,因为请求的HTTP标头太长。减小请求标头的大小后,可以重新提交请求。

当请求标头的总大小太大或单个标头字段太大时,可以使用

431。为了帮助那些遇到此错误的人,请在响应正文中指出这两个问题中的哪个—理想情况下,还包括哪些标头太大。这样,用户可以尝试解决问题,例如清除其cookie。

在以下情况下,服务器通常会产生此状态:

  • 引荐来源网址太长
  • 请求中发送的Cookie过多

以下解决方案并非特定于nest.js,而是特定于任何node.js服务器。

在运行node --help时,您会看到以下标志之一:

...

--max-http-header-size=...                set the maximum size of HTTP headers (default: 8KB)

...

此Node.js CLI标志可以帮助:

--max-http-header-size=16384

它将HTTP最大标头大小设置为16KB。

您可以将此标志设置为所需的值。

请参阅this以供参考。

文档在此标志上说明了最大大小,因此请注意这一点。