偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一個(gè)HTTPS問(wèn)題的排查,誰(shuí)的鍋?

運(yùn)維 網(wǎng)絡(luò)運(yùn)維
某日臨下班的時(shí)候,收到一個(gè)用戶不能打開(kāi)企業(yè)郵箱頁(yè)面的投訴,最終發(fā)現(xiàn)是 HTTPS 的問(wèn)題,這篇文章完整記錄了處理過(guò)程,解決投訴后,我也在思考問(wèn)題產(chǎn)生的原因。

某日臨近下班的時(shí)候,收到一個(gè)用戶不能打開(kāi)企業(yè)郵箱頁(yè)面的投訴,最終發(fā)現(xiàn)是 HTTPS 的問(wèn)題,這篇文章完整記錄了處理過(guò)程,解決投訴后,我也在思考問(wèn)題產(chǎn)生的原因。

收到投訴后,我們的運(yùn)維同事使用 QQ 遠(yuǎn)程連接用戶桌面(最有效、最快速的問(wèn)題排查手段)的功能了解具體的情況,初步情況如下:

  • Chrome 打開(kāi)企業(yè)郵箱官網(wǎng)(https://mail.sina.net)沒(méi)有問(wèn)題。
  • 登錄 webmail(https://webmail.sina.net)后頁(yè)面空白。

運(yùn)維同事使用 Chrome 開(kāi)發(fā)者工具發(fā)現(xiàn) webmail 頁(yè)面(該頁(yè)面能夠正常輸出數(shù)據(jù))引入的靜態(tài)元素(js、css)無(wú)法加載,將某一個(gè) js 文件(i0.sinaimg.cn 域名)單獨(dú)在 Chrome 中打開(kāi),頁(yè)面出現(xiàn) ERR_SSL_VERSION_OR_CIPHER_MISMATCH 錯(cuò)誤。

可能有些同學(xué)奇怪,為什么 js 文件打不開(kāi)就出現(xiàn)空白頁(yè)面?這和我們的前端開(kāi)發(fā)架構(gòu)有關(guān),頁(yè)面的渲染極度依賴 js,如果 js 無(wú)法加載整個(gè)頁(yè)面就無(wú)法呈現(xiàn)。

看到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 錯(cuò)誤,我***反應(yīng)是服務(wù)器 https 配置兼容性不好或者客戶端(Chrome)https 配置支持不夠??紤]到只有個(gè)別用戶投訴,再加上我本來(lái)就知道郵箱 https 配置兼容性非常廣(支持 tls 1.0、tls 1.1、tls 1.2),所以重點(diǎn)懷疑客戶端 https 的問(wèn)題。

進(jìn)一步排查發(fā)現(xiàn)用戶的 Chrome 版本是 36,潛意識(shí)認(rèn)為是用戶瀏覽器版本過(guò)低的問(wèn)題,做了兩個(gè)檢查:

(1)查看該 Chrome 版本是何時(shí)發(fā)布

一個(gè)HTTPS問(wèn)題的排查,誰(shuí)的鍋?

通過(guò)上圖看出 2014 年發(fā)布的,也不算太舊。

 

(2)查看該 Chrome 版本 https 支持的***版本

通過(guò) SSL Labs User Agent Capabilities 工具(https://www.ssllabs.com/ssltest/clients.html)檢測(cè)結(jié)果如下:

通過(guò)上圖看出該版本***支持 tls 1.2,不存在 https 版本配置過(guò)低的問(wèn)題。

既然從理論上排除了 Chrome 兼容性問(wèn)題,我想使用 Chrome 開(kāi)發(fā)者工具【Security】菜單查看具體的 https 報(bào)錯(cuò)信息,悲催的是 chrome 36 版本居然沒(méi)有【Security】菜單。。。***的排查工具無(wú)法使用了,該版本的開(kāi)發(fā)者工具如下圖: 

此時(shí)我抓瞎了,繼續(xù)思考,有兩個(gè)新的現(xiàn)象進(jìn)入腦子:

(1)webmail 360 瀏覽器能夠正常訪問(wèn),IE、Chrome 無(wú)法訪問(wèn),其實(shí)這一條信息干擾性極大,讓我懷疑還是客戶端兼容性的問(wèn)題。

由于不是我遠(yuǎn)程連接用戶桌面,所以當(dāng)時(shí)也沒(méi)有查看(也沒(méi)想到) 360 開(kāi)發(fā)者工具的調(diào)試信息,這是非??上У囊稽c(diǎn)。

(2)Chrome 訪問(wèn)企業(yè)郵箱官網(wǎng)沒(méi)有問(wèn)題,這其實(shí)是非常重要的一條信息,如果是客戶端(IE、Chrome)問(wèn)題,為啥官網(wǎng) https 訪問(wèn)沒(méi)有問(wèn)題,我打開(kāi)開(kāi)發(fā)者工具看了一下,發(fā)現(xiàn)官網(wǎng)引入的 js 元素域名是 www.sinaimg.cn。

問(wèn)題逐步清晰了,官網(wǎng)和 webmail 引入的 js 元素域名是不一樣的,我們公司所有的靜態(tài)元素都部署在自有 CDN 上(事后才知道也引入了阿里云 CDN),是否這兩個(gè)域名配置的證書(shū)以及 HTTPS 配置不一樣?雖然本就知道公司證書(shū)都是 SAN 泛域名證書(shū),所有的域名以及子域名都使用同一張證書(shū),但從嚴(yán)謹(jǐn)?shù)慕嵌瓤紤],我還是使用SSL Labs SSL Server Test 工具(https://www.ssllabs.com/ssltest/analyze.html)測(cè)試 https 配置情況。

這個(gè)工具會(huì)掃描對(duì)應(yīng)域名所有的 IP,然后顯示該 IP 下的證書(shū)、HTTPS 配置的具體情況,測(cè)試 www.sinaimg.cn 結(jié)果如下: 

通過(guò)上圖可見(jiàn)整個(gè)配置檢測(cè)沒(méi)有問(wèn)題。接著測(cè)試 i0.sinaimg.cn,結(jié)果如下: 

出現(xiàn)上圖的的原因就是 CDN 的某個(gè)點(diǎn)的 https 配置(443端口)無(wú)法獲取到,工具中止了檢測(cè)。

此時(shí)問(wèn)題逐步清晰了,公司靜態(tài)池(靜態(tài)元素)CDN 部署了很多點(diǎn),是否是某個(gè)點(diǎn) https 配置有問(wèn)題?CDN 由公司專門團(tuán)隊(duì)維護(hù),立刻向他們反饋,五分鐘后問(wèn)題解決。

得到的反饋就是靜態(tài)池也使用了阿里云的 CDN(最近剛加的點(diǎn),投訴用戶正好訪問(wèn)了這個(gè) CDN 點(diǎn)),而這個(gè) CDN 點(diǎn)居然沒(méi)有配置支持 https。。。

CDN 同事在阿里云開(kāi)啟 443 https 服務(wù)(主要工作是上傳 i0.sinaimg.cn 證書(shū))后就解決了問(wèn)題,我們不禁要追問(wèn)為這個(gè)點(diǎn)什么沒(méi)有 https 部署,他們的解釋是沒(méi)有接到這個(gè)點(diǎn)要支持 https 的需求。。。

對(duì)于這個(gè)理由,要是我還是當(dāng)年年少輕狂的我,估計(jì)要噴他們了(現(xiàn)在也只能心里噴了),靜態(tài)池服務(wù)早就宣稱全站支持 HTTPS 了,為啥還有這問(wèn)題?CDN 配置是開(kāi)發(fā)人員無(wú)法也無(wú)需知道的(完全透明),既然全站 HTTPS 了,新增加一個(gè)點(diǎn)是不是應(yīng)該也要支持?怎么能說(shuō)沒(méi)有接收到需求呢?我渣浪的甩鍋?zhàn)黠L(fēng)還是一如既往。

有些同學(xué)不禁要問(wèn),這么大的故障,為啥別的產(chǎn)品不受影響呢?原因就在于 i0.sinaimg.cn 這個(gè)域名下的服務(wù)使用者可能很少,下一階段我們要盡快將靜態(tài)元素遷移到 www.sinaimg.cn 域名上。

解決該問(wèn)題后,我冷靜下來(lái)思考,為啥 360 瀏覽器沒(méi)有問(wèn)題?同一臺(tái)機(jī)器 DNS 解析難道不是一樣的嗎?360 連接的 443 服務(wù)器難道和 Chrome 連接的 443 服務(wù)器不一致?如果不一致,那么 360 瀏覽器顯示正常是可以理解的,如果一致,那就很難解釋了。

由于當(dāng)時(shí)沒(méi)有看到 360 瀏覽器訪問(wèn)的具體情況,所以我做了一個(gè)測(cè)試:

  • (1)登錄阿里云 CDN 控制臺(tái),默認(rèn) 443 端口是關(guān)閉的,也就是說(shuō)故障發(fā)生的時(shí)候,443 肯定沒(méi)有開(kāi)啟。
  • (2)由于我沒(méi)有阿里云 CDN 服務(wù),所以做了個(gè)模擬,用自己的服務(wù)器測(cè)試 https://www.simplehttps.com(80 打開(kāi),443 關(guān)閉),看看 360 瀏覽器是如何運(yùn)行的

最終使用 360 瀏覽器訪問(wèn)該網(wǎng)址,不能成功打開(kāi),所以這成了一個(gè)懸案了。

通過(guò)這件事情,得到的一些體會(huì)和想法:

  • 排查問(wèn)題是需要經(jīng)驗(yàn)的,經(jīng)驗(yàn)基于技能的掌握程度,冷靜的頭腦,熟練借助工具。
  • 很多問(wèn)題看上去很復(fù)雜,但最終的原因是如此無(wú)厘頭,這說(shuō)明整個(gè)技術(shù)體系是混亂的,是割裂的。
  • 實(shí)際排查順序并不是本文描述的那樣,也走了很多彎路,如此整理是為了讓讀者更好的了解排查問(wèn)題的思路。
  • SSL Labs 工具 SSL Server Test 非常好,它是如何檢測(cè)出一個(gè)域名對(duì)應(yīng)的所有 IP 呢?如果有現(xiàn)成解決方案,我打算基于此,寫一個(gè)簡(jiǎn)單的小工具,快速診斷出 https 配置情況(更輕量的工具)。
責(zé)任編輯:未麗燕 來(lái)源: 虞大膽的嘰嘰喳喳
相關(guān)推薦

2020-06-12 13:26:03

線程池故障日志

2009-09-02 18:36:46

LinuxLinux操作系統(tǒng)Linux開(kāi)發(fā)

2018-12-26 17:36:37

開(kāi)發(fā)者技能阿里

2020-12-02 06:13:29

Redis連接池

2019-12-17 10:01:40

開(kāi)發(fā)技能代碼

2016-10-20 15:27:18

MySQLredo死鎖

2021-09-03 05:52:06

黑客安全網(wǎng)絡(luò)凱文·米特尼克

2020-10-28 15:07:01

Arthas

2009-08-21 19:02:31

2021-04-28 14:31:35

Dubbo接口日志

2020-01-03 10:19:28

goroutine泄漏系統(tǒng)

2019-02-14 13:30:54

內(nèi)存泄露運(yùn)維

2020-12-09 11:00:44

Nginx 運(yùn)維Tomcat

2024-04-10 08:48:31

MySQLSQL語(yǔ)句

2010-05-31 14:22:25

RFID安全

2024-02-28 08:12:25

SSE接口代理

2021-07-14 13:50:51

Linux命令文件

2023-02-08 19:46:25

ChatGPTOpenAI生產(chǎn)力

2018-06-28 10:25:50

2024-05-20 01:10:00

Promise變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)