NGINX Plus 現在完全支援 HTTP 2

2021-09-23 15:58:18 字數 1790 閱讀 1591

早些時候,我們發布了支援 http/2 協議的 nginx plus r7。作為 http 協議的最新標準,http/2 的設計為現在的 web 應用程式帶來了更高的效能和安全性。(lctt 譯註: 開源版本的 nginx 1.95 也支援 http/2 了。)

nginx plus 所實現的 http/2 協議可與現有的**和應用程式進行無縫銜接。只需要一點改變,不管使用者選擇什麼樣的瀏覽器,nginx plus 都能為使用者同時提供 http/1.x 與http/2 的最佳體驗。

要支援 http/2 僅需通過可選的 nginx‑plus‑http2 軟體包。nginx‑plus 和 nginx‑plus‑extras 軟體包支援 spdy 協議,目前推薦用於生產站點,因為其被大多數瀏覽器所支援並且**也是相當成熟了。

http/2 使資料傳輸更高效,對你的應用程式更安全。 http/2 相比於 http/1.x 有五個提高效能特點:

我們的 http/2 實現是基於 spdy 支援的,它已經被廣泛部署(使用了 nginx 或 nginx plus 的**近 75% 都使用了 spdy)。使用 nginx plus 部署 http/2 時,幾乎不會改變你應用程式的配置。本節將討論 nginx plus如何實現對 http/2 的支援。

乙個 http/2 閘道器

向後相容性

在一段時間內,你需要同時支援 http/2 和 http/1.x。在撰寫本文時,超過50%的使用者使用的 web 瀏覽器已經支援 http/2,但這也意味著近50%的人還沒有使用。

為了同時支援 http/1.x 和 http/2,nginx plus 實現了 tls 上的 next protocol negotiation (npn)擴充套件。當 web 瀏覽器連線到伺服器時,其將所支援的協議列表傳送到伺服器端。如果瀏覽器支援的協議列表中包括 h2 - 即 http/2,nginx plus 將使用 http/2 連線到瀏覽器。如果瀏覽器不支援 npn 或在傳送支援的協議列表中沒有 h2,nginx plus 將繼續回落到 http/1.x。

nginx 公司會盡可能幫助大家無縫過渡到使用 http/2。本節介紹了通過對你應用進行改變來啟用對 http/2 支援,其中只需對 nginx plus 配置進行幾個變化。

前提條件

使用 nginx‑plus‑http2 軟體包公升級到 nginx plus r7。注意現在還沒有支援 http/2 版本的nginx‑plus‑extras 軟體包。

重定向所有流量到 ssl/tls

如果你的應用尚未使用 ssl/tls 加密,現在啟用它正是乙個好的時機。加密你的應用程式可以保護你免受間諜以及來自其他中間人的攻擊。一些搜尋引擎甚至在搜尋結果中對加密站點提高排名。下面的配置塊重定向所有的普通 http 請求到該**的加密版本。

server 

}

啟用 http/2

要啟用對 http/2 的支援,只需將 http2 引數新增到所有的 listen 指令中,也要包括 ssl 引數,因為瀏覽器不支援不加密的 http/2 請求。

server 

如果有必要,重啟 nginx plus,例如通過執行nginx -s reload命令。要驗證 http/2 是否正常工作,你可以在 google chrome 和 firefox 中使用 「http/2 and spdy indicator」 外掛程式來檢查。

nginx 公司要感謝 dropbox 和 automattic,他們是我們軟體的重度使用者,並幫助我們實現 http/2。他們的貢獻幫助我們加速完成這個軟體,我們希望你也能支援他們。

CppDepend現在已經支援Linux

cppdepend是乙個用於分析複雜c 應用程式的工具。利用cqlinq 乙個基於linq的新查詢語言 開發者能夠編寫指令碼來檢查類與方法之間的複雜關係。它們既可以用於一般性研究,也能用於構建靜態 分析規則。相對於之前的版本,cppdepend 3有乙個重要改進。它的後端使用clang 一般認為這是...

珍惜現在,感恩生活 完全揹包

採購一些糧食,現在假設你一共有資金n元,而市場有m種大公尺,每種大公尺都是袋裝產品,其 不等,並且只能整袋購買。請問 你用有限的資金最多能採購多少公斤糧食呢?input 輸入資料首先包含乙個正整數c,表示有c組測試用例,每組測試用例的第一行是兩個整數n和m 1 n 100,1 m 100 分別表示經...

vscode 完全支援zeng code的寫法

一 快速編寫html 1.初始化 html文件需要包含一些固定的標籤,比如 等,現在你只需要1秒鐘就可以輸入這些標籤。比如輸入 或 html 5 然後按tab鍵 2.輕鬆新增類 id 文字和屬性 連續輸入元素名稱和id,emmet會自動為你補全,比如輸入p foo 連續輸入類和id,比如p.bar ...