当前位置: 首页 > 知识库问答 >
问题:

Java spring请求标头太大

颛孙智勇
2023-03-14

我有一个应用程序向微服务发送请求。在标题中有一个JWT标记,它变大了,我得到了这个错误

Status 400 – Bad Request</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Request header is too large</p><p><b>Description</b> The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).</p><p><b>Exception</b></p><pre>java.lang.IllegalArgumentException: Request header is too large

我发现您可以在yml配置文件中增加标头的最大允许大小

server:
  max-http-header-size: 5MB

但我还是得到了同样的结果。我正在使用Spring 2.2.6

共有2个答案

常枫涟
2023-03-14

https://docs.spring.io/spring-boot/docs/2.0.4.RELEASE/reference/html/common-application-properties.html:

HTTP消息头的最大大小(以字节为单位)

在代码(https://github.com/spring-projects/spring-boot/pull/5641/files)中:

@ConfigurationProperties(prefix = "server", ignoreUnknownFields = true)
public class ServerProperties
...
    /**
     * Maximum size in bytes of the HTTP message header.
     */
    private int maxHttpHeaderSize = 0; // bytes

因此,值5M很可能转换为5字节,而不是5242880字节(5兆字节)。

林哲茂
2023-03-14

尝试更改

服务器: max-超文本传输协议-head大小: 5MB

收件人:

服务器:max-servlet-标头大小:5MB

“http”用于spring boot 1.4。x和1.5。x,而2。x使用“servlet”关键字

我有同样的问题:spring.servlet.multipart.max-file-size=512KB必须更改为spring.http.multipart.max-file-size=512KB,但我的应用程序正在使用spring.boot.1.5.4

对于yml格式,请查看这篇文章https://stackoverflow.com/a/54302823/10315229

 类似资料:
  • 如何在JAX-RS中实现WriterInterceptor接口时访问请求头? 完整的代码如下:

  • 我正试图将一个保存到一个嵌套中。但是当我尝试这么做时,服务器崩溃了,这就是我在控制台上看到的问题。日志: 有一件事是JSON请求的大小是1095922字节,在Nest中有人知道怎么做吗。js是否增加有效请求的大小?谢谢

  • 问题内容: 我有一个简单的PHP脚本,正在尝试跨域CORS请求: 但是我仍然得到错误: 请求标头字段不允许 我有什么想念的吗? 问题答案: 不允许作为可接受的值,请参阅此处的Mozilla文档。 您应该发送可接受的标头(而不是如星号所示)而不是星号。

  • 我正在尝试从这个 API 调用中创建“UUID”,我正在使用 axios 和 vue.js。这是我的源代码。 但不幸的是,我得到了 在'访问XMLHttpRequesthttps://www.uuidtools.com/api/generate/v1'从原点'http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access c

  • 我目前对tslint有意见,希望有人能给我指出正确的方向。 我正在尝试使用Angular2框架提供的HTTP发送HTTP GET请求。对于这个请求,我必须指定内容类型和承载身份验证令牌。 我的代码示例: 然而,tslint抱怨说 “TS2345:类型为{headers:headers;}的参数”不可分配给“RequestOptionsArgs”类型的参数。属性“headers”的类型不兼容。类型“

  • 很好的一天! 我的应用程序使用简单的http客户端-服务器通信,通过客户端的凌空库建立。首先,我启动一个授权请求: 之后,我请求列出与当前用户相关的设备列表。此时,我收到了来自响应标题的cookei。auth请求的完整标头响应输出: 缓存控制——没有存储,没有缓存,必须重新验证,后检查=0,预检查=0 在身份验证请求的onResponce回调中,我将Set Cookie值作为sessionId,并