【elasticjob】解决访问运维平台400异常

起因

近期工作重新规划了项目的包结构,调整完成后启动项目(springBoot + elasticJob)出现启动异常。

org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'org.apache.shardingsphere.elasticjob.lite.spring.boot.job.ElasticJobBootstrapConfiguration': 
Invocation of init method failed; 
nested exception is org.apache.shardingsphere.elasticjob.infra.exception.JobConfigurationException: 
Job conflict with register center. The job 'retryJob' in register center's class is 'xxxxxx.RetryJob', your job class is 'xxxxxx.new.RetryJob'

异常原因是调整包结构后同一job的elasticJobClass属性和已经在zk注册的job不一致。解决办法:1、修改配置文件的job名称作为一个新的job出现(或者修改namespace);2、删除zk上已注册的job。基于不遗留干扰项的原则,我选择了后者。重点来了,登录运维平台后出现400的访问异常。
在这里插入图片描述

解决

登录部署运维平台的服务器,查看服务端日志,有异常Request header is too large

[INFO ] 10:53:26.542 [http-nio-8080-exec-3] o.a.coyote.http11.Http11Processor - Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Request header is too large
	at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:726)
	at org.apache.coyote.http11.Http11InputBuffer.parseHeader(Http11InputBuffer.java:873)

通过浏览器开发者工具查看请求header,access-token的长度确实很长
在这里插入图片描述
粗略看这个值还以为是elasticJob运维平台的bug,感觉access-token被拉长。尝试换一个新的浏览器,能够正常访问,但是两个浏览器请求的access-token长度相同,那就是其他header属性导致的超长。对比发现cookies的值也很多,能是这个导致的超长。
在这里插入图片描述
根据这个推断使用隐身浏览器能够正常访问运维平台。

结论

运维平台和公司的其他站点部署在相同一级域名的不同二级域名下面,其他站点会写一级域名的cookies。chrome作为常用浏览器,随登录的站点增多,一级域名下缓存的cookies越来越多,导致request header超长的问题。

欢迎大家留言交流讨论,如果对你有帮助,请点个赞吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值