加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Tomcat竟然有bug,这我能信?

发布时间:2019-06-15 06:46:57 所属栏目:业界 来源:简书
导读:配景先容 为了办理漫衍式链路追踪的题目,我们引入了实现OpenTracing的Jaeger来实现。然后我们为SpringBoot框架写了一个starter以让用户实现近零改革接入全链路。 因为公司有一个封装了SpringBoot的内部框架,然后我们的starter就以最新框架所行使的Spring

固然看上去跟我们的题目是一样的,都是400题目,可是详细产生的缘故起因是纷歧样的。这个issue是说,假如domain name .ext 包括数字,好比 "domain.sf1m",会呈现400题目。这个题目也已经在tomcat的新版本中修复了。

可是纵然我行使最新的8.5.x版本的tomcat,用带有下划线的Host的http去哀求tomcat的时辰依然会报400错误。

也就是说,带有下划线的Host的http哀求,tomcat以为是有题目的。

那为什么之前版本的tomcat是正常的呢?带着这个疑问我们来说明一下tomcat的源代码。

因为之前没有看过tomcat的源代码,以是要说明出到底是哪一行代码有题目是很坚苦的,以是我查察了下tomcat的相干的bug

https://bz.apache.org/bugzilla/show_bug.cgi?id=62371

下面是bug中的错误stack。

Tomcat竟然有bug,这我能信?

发明对应的代码窜改如下:

Tomcat竟然有bug,这我能信?

到这里我们也就知道了处理赏罚Host头部的类就是这个HttpParser类。

然后我在本次check了下tomcat8.5.31 和8.5.11的代码,比对了一下HttpParser以及AbstractProcessor类。

比拟功效如下:

Tomcat竟然有bug,这我能信?

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读