記錄乙個IOS訪問HTTPS協議TCP握手慢的問題

2021-10-09 15:37:53 字數 1624 閱讀 3590

在andriod下測試介面響應速度都在300ms以內,ios上出現問題,前端找我反饋,由於前後端使用了不同的網域名稱和伺服器部署,前端使用vue axios和jquery ajax測試均發現請求緩慢,大概在6秒左右

我這邊初步懷疑是鏈路問題,測試人員切換了4g和wifi,結果一樣

然後他們使用香港**伺服器訪問,結果ok

我這邊初步懷疑是ssl證書的問題(結果確實是,哈哈๑乛◡乛๑)

寫了個前端排查的頁面,掛上去測試發現實際情況確實如此

主要測試**如下:

測試

執行完畢後發現tcp連線需要4秒左右

檢查伺服器配置,後端介面使用的是let『s encrypt免費證書,造成tcp慢的原因就是這個證書。

以下內容節選自 

因為le證書的吊銷狀態檢查網域名稱(ocsp.int-x3.letsencrypt.org以及相關cname或alias)在大陸受到劫持引起。蘋果系統的瀏覽器開啟ssl**時將對證書的狀態進行驗證,當在驗證證書狀態時,請求了被劫持的let』s encrypt證書狀態檢查(ocsp)的伺服器,而該伺服器為不可使用狀態或有很長延時,從而導致開啟**延時。

由於證書狀態檢查由蘋果的瀏覽器(uiwebview, wkwebview、safari)發起,而chrome在訪問ssl**時並不進行這一項檢查,所以大部分使用者在chrome中訪問正常,只有在蘋果系統中訪問出現延時。

第一步:修改伺服器的hosts檔案,解析正確的ocsp.int-x3.letsencrypt.org網域名稱ip

目前 ocsp.int-x3.letsencrypt.org 正常的伺服器ip有:

23.44.51.8 (美國)

23.44.51.27 (美國)

104.109.129.57 (英國)

104.109.129.11 (英國)

175.45.42.209 (香港)

175.45.42.218 (香港)

223.119.50.201(香港)

223.119.50.203(香港)

23.32.3.72(東京)

我試了下,175.45.42.21最快,有部分丟包。

可以在hosts檔案中加入:

175.45.42.218   ocsp.int-x3.letsencrypt.org
第二步:在apache和nginx中啟用 ocsp 功能

以下是apache配置,nginx配置請移步原文

sslsessioncache        "shmcb:conf/ssl_scache(512000)"

sslstaplingcache "shmcb:conf/ssl_stapling(512000)"

sslusestapling

備註:需要再apache設定中找到 loadmodule socache_shmcb_module modules/mod_socache_shmcb.so 開啟shmcb

第三步:重啟 apache 或 nginx 即可!

記錄乙個https抓包方法

https抓包,fiddler設定好了但是無法抓包,後來才發現需要在 裡設定才能抓包。xml network security config.xml cleartexttrafficpermitted true src system src user trust anchors base confi...

記錄乙個statck overflow

工作中遇到一次這樣的問題 棧上的空間不夠用了,導致stack overflow,程式crash,並且coredump被寫亂了。這裡用小例子,記錄這樣的問題。include include include include define stack buffer size 10240 void thre...

記錄乙個BUG

vm版本 kali版本 centos 8 版本 vmtool版本 新裝的centos8 因為無法拖拽檔案到虛擬機器中,就重新裝了一下vmtool,安裝之後還是不行,開啟kali發現原本裝好的vmtool,現在也不能拖拽檔案了,就又在kali重灌了一次,還是不能拖拽,上網查了一下,在執行.vmware...