Apache-2.2

設置 HTTP/2、apache 和 Nginx 作為反向代理時的長 TTFB / SSL 協商

  • February 12, 2020

如標題所示,在將 HTTP/2、Apache 和 Nginx 設置為反向代理時,我意識到 SSL 協商導致的部分非常長的 TTFB 超過一秒。

什麼可能是固定螺絲和最常見的原因?這裡舉個例子。

ps:找到了一個類似的問題,但是沒有具體的推薦,哪裡有解決問題的辦法。

在限制您與 Fast-3G 的連接時,我不會說這實際上是那麼長。

TLS 握手確實需要一些時間才能完成,因為它需要多次往返。我在這裡的回答為您可以採取哪些措施來減少這種情況提供了一些指導

此外,TLSv1.3 有一些性能改進,因此它可以在 1 次往返(甚至在某些情況下甚至 0 次往返)內完成握手。將於今年(或明年)推出的 HTTP/3 也基於 QUIC 而不是 TCP,並且具有一些連接設置性能改進。

獲得此類技術改進的最簡單方法是在您的站點前使用 CDN 來處理使用者連接,然後他們可以將請求通過管道傳回您的站點並在其邊緣節點記憶體內容。許多 CDN 已經支持 TLSv1.3,有些甚至支持 HTTP/3。它們也可能位於您的使用者附近,因此往返時間 (RTT) 會更短,而且它們通常還具有高度優化的網路堆棧。

回到您的站點,我注意到的一件事是您正在使用擴展驗證證書,並且需要對所有瀏覽器進行撤銷檢查(這是前兩個請求,它們必須在與您的站點的握手完成之前完成)。這裡有一篇很好的文章:https ://nooshu.github.io/blog/2020/01/26/the-impact-of-ssl-certificate-revocation-on-web-performance/. 對於非 EV 證書,Chrome 不會進行吊銷檢查(而是依賴於定期上傳的已吊銷證書的下載列表),儘管我看到您使用 Firefox 進行了測試,目前它總是會對 EV 和非電動汽車。EV 證書已經失去了它們的用處,因為瀏覽器停止在 URL 欄上為它們提供額外的綠色,因此在下一次證書更新時恢復到標準 DV 或 OV 證書可能會更好,以獲得 Chrome 的性能提升。

除了那些你的網站在 TLS 設置方面看起來不錯的東西,雖然你仍然啟用了一些舊的 TLS 設置,並且在瀏覽器中不應該優先使用它們來獲得更安全的設置,除非你真的需要它們,否則你應該關閉它們用於支持無法使用新設置的舊瀏覽器。

此外,TCP 層可能存在一些調整,該測試未顯示,但它們確實需要專業知識,因此除非您知道自己在做什麼,否則建議不要使用它們。

引用自:https://serverfault.com/questions/1002799