成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Tomcat竟然有bug,這我能信?

2021-02-09    分類: 網(wǎng)站建設(shè)

背景介紹

為了解決分布式鏈路追蹤的問題,我們引入了實(shí)現(xiàn)OpenTracing的Jaeger來實(shí)現(xiàn)。然后我們?yōu)镾pringBoot框架寫了一個(gè)starter以讓用戶實(shí)現(xiàn)近零改造接入全鏈路。

由于公司有一個(gè)封裝了SpringBoot的內(nèi)部框架,然后我們的starter就以最新框架所使用的SpringBoot版本為基礎(chǔ)進(jìn)行開發(fā)。所以業(yè)務(wù)系統(tǒng)在接入的時(shí)候需要先升級框架,然后再引入我們的starter才行無縫接入全鏈路。

到這里我們也就知道了處理Host頭部的類就是這個(gè)HttpParser類。

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

對比結(jié)果如下:

到這里我們就已經(jīng)知道了為什么8.5.11版本的tomcat是正常的,主要是因?yàn)?.5.11版本的tomcat沒有對Host頭部進(jìn)行校驗(yàn),而在8.5.31版本的tomcat增加了該校驗(yàn)。

我們來看一下tomcat源代碼的提交記錄:

我們發(fā)現(xiàn)在 2018/4/6增加了對host/port的校驗(yàn)。

根因之根因

那為什么tomcat增加了這個(gè)Host的校驗(yàn)?zāi)兀也辉试S使用帶有下劃線的Host呢?實(shí)際上這個(gè)是有規(guī)范的。具體點(diǎn)擊這個(gè)鏈接

https://www.ietf.org/rfc/rfc1034.txt

經(jīng)驗(yàn)教訓(xùn)

好了,到這里我們就知道了,其實(shí)對于帶有下劃線的Host,tomcat是遵循的RFC1-1034的規(guī)范的,所以tomcat的處理是正確的。但是tomcat在處理某些其他合法的Host的時(shí)候歷史上出現(xiàn)過bug,但是對于下劃線的處理一直是正確的。

所以,以后nginx在配置upstream的時(shí)候不能使用帶有下劃線的名稱,還有最好在location位置上加上proxy_set_header HOST $host

網(wǎng)站名稱:Tomcat竟然有bug,這我能信?
文章URL:http://jinyejixie.com/news1/100001.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、建站公司、網(wǎng)站收錄做網(wǎng)站、域名注冊網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
乐亭县| 宜宾市| 固阳县| 高要市| 峨眉山市| 达孜县| 桦南县| 辽宁省| 增城市| 咸丰县| 仁寿县| 竹溪县| 称多县| 上虞市| 南靖县| 安图县| 玉林市| 上杭县| 陇南市| 揭东县| 西华县| 商丘市| 绥化市| 洛扎县| 金寨县| 阿克苏市| 贵港市| 拜泉县| 保山市| 江阴市| 荃湾区| 宜都市| 会宁县| 梅河口市| 宁明县| 乌恰县| 嵊州市| 望奎县| 象山县| 阳谷县| 灵山县|