设置Request头长度大小

当接口请求参数过大导致Nginx和Tomcat报错Requestheaderistoolarge时,可以通过配置解决。需分别在Tomcat的server.xml中增加maxHttpHeaderSize和maxPostSize参数,并在Nginx的nginx.conf中配置client_header_buffer_size和large_client_header_buffers。通过增大这两个配置值,允许更大的请求头和内容大小。

场景:

利用Nginx进行负载均衡,Nginx下对两个tomcat进行负载均衡,当进行某项接口请求时,由于参数过大,导致Request请求的头部长度超出了默认长度,接口调用失败 Request header is too large。

处理办法:

分别对Nginx和tomcat进行配置,切记,两个地方都要配置:

1、配置tomcat容器中的server.xml

<Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"  maxHttpHeaderSize ="102400" maxPostSize="-1"/>

如上,增加 maxHttpHeaderSize ="102400" maxPostSize="-1" 两项参数配置

2、配置Nginx配置文件nginx.conf

在配置文件的http块中增加如下配置:

    #请求头总长度大于512k时使用large_client_header_buffers设置的缓存区
    client_header_buffer_size 512k;
    #large_client_header_buffers 指令参数4为个数,512k为大小,默认是8k。申请4个512k。
    large_client_header_buffers 4 512k;

3、若是直接将项目打成jar包的话,则直接配置application.yml即可。

server: 
  max-http-header-size: 102400

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值