Request header is too large 请求头太大

  • 在我们的日常开发工作中,可能会遇到请求头太大的问题,导致请求失败

    • F12可以看到,前端传入了很长一段参数

      Request header is too large 请求头太大_第1张图片

    • 后台可以看到

      Request header is too large 请求头太大_第2张图片

  • 问题原因:请求头超过了tomcat的限制值。post请求是没有参数大小限制,但是服务器有自己的默认大小

  • 解决方式一:可以修改Tomcat的server.xml文件

    Request header is too large 请求头太大_第3张图片

  • 增加maxHttpHeaderSize参数配置,当maxPostSize=0时,表示不限制

  • 解决方式二:如果你是SpringBoot项目那就更简单了,直接修改yml文件即可

    Request header is too large 请求头太大_第4张图片

  • 解决方式三:如果你的项目是走Nginx服务器代理的,则可以调整Nginx配置

    Request header is too large 请求头太大_第5张图片

  • client_max_body_size:限制请求体的大小,若超过所设定的大小,返回413错误

  • client_header_timeout:读取请求头的超时时间,若超过所设定的大小,返回408错误

  • client_body_timeout:读取请求实体的超时时间,若超过所设定的大小,返回413错误

  • proxy_connect_timeout:请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒

  • proxy_read_timeout:请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒

  • proxy_send_timeout:http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒

你可能感兴趣的:(Java,java)