Web-Server

多個代理上的 HTTP2

  • November 11, 2018

我在 Cloudflares 支持頁面中讀到,他們在將請求轉發到我們的內部代理時將流量從 HTTP2 轉換為 HTTP/1.x。

我們有一個 Cloudflare WAF 服務,它將流量轉發到我們的數據中心內部 WAF,而這個 WAF 將流量轉發到我們的 nginx,它基本上代理了對我們內部服務的請求。

現在我們的 WAF 和 nginx 支持 HTTP2 協議,但是我們注意到,當來自 Cloudflares 端的請求時,它們被轉換為 HTTP/1.x,因為根據它們,使用相同的 HTTP2 轉發流量是沒有意義的,因為 HTTP2 專注於僅改善瀏覽器行為。

我不確定我們是否真的不需要使用相同的 HTTP2 將流量發送到所有代理。任何人都可以對這個話題有所了解嗎?

HTTP/2 通過添​​加二進制多路復用成幀層來解決 HTTP 協議早期版本中自然固有的行頭阻塞問題,從而解決協議中的低效率問題,從而提高了偏好。這些主要影響高延遲、低頻寬的連接——即瀏覽器到邊緣節點。

對於 CDN 到源伺服器,這通常不是問題,特別是如果在 CDN 端進行記憶體,因此應該減少對源伺服器的訪問。

更廣泛的答案在這裡:https ://stackoverflow.com/questions/41637076/http2-with-node-js-behind-nginx-proxy

或者如果真的對這個主題感興趣,那麼我已經寫了一本關於這個主題的書(現在可以早期訪問但很快就會出版):https ://www.manning.com/books/http2-in-action

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