• Feign status 400 reading 问题分析


    背景:项目使用的是微服务架构,采用springboot来开发,所有的服务都是基于内嵌tomcat来运行

    问题:项目部署到测试环境之后,偶尔在后台日志会看到这样的日志:Feign status 400 reading XXXX content:

    调查后发现是get请求参数太长的缘故,将参数打印出来,发现最长的有12KB,而内嵌tomcat对参数的默认限制是8K,在tomcat的org.apache.coyote.http11.AbstractHttp11Protocol类中定义了其默认值,如下:

    /**
         * Maximum size of the HTTP message header.
         */
        private int maxHttpHeaderSize = 8 * 1024;
        public int getMaxHttpHeaderSize() { return maxHttpHeaderSize; }
        public void setMaxHttpHeaderSize(int valueI) { maxHttpHeaderSize = valueI; }

    解决方案

      在Feign接口提供端的微服务中配置参数:

    server:
      max-http-header-size: 20480
  • 相关阅读:
    Sqli-labs less 25a
    Sqli-labs less 26
    Sqli-labs less 26a
    Sqli-labs less 27
    Sqli-labs less 27a
    Sqli-labs less 28
    Sqli-labs less 28a
    Python3之sys模块
    Python3之os模块
    Python3之XML模块
  • 原文地址:https://www.cnblogs.com/yucy/p/9914049.html
Copyright © 2020-2023  润新知