/ Nginx

HTTP2 on Nginx 測試

Nginx 推出 1.9.5 支援 HTTP/2 的時候,我是很想測試,不過由於 14.04LTS 目前測試版本都還是停在 1.9.4,所以乾脆自己抓下來裝。另外 O3 有寫一篇關於 Apache2 的,有興趣的人可以看看(推薦!


至於安裝的 Known Issue 是,

The module is experimental, caveat emptor applies.

所以想在正式機器上面測試的人請三思(燦笑。基本上安裝過程沒有太大的問題,除了一些必要的 -dev 元件外,整個過程意外的順利。

然後設定上有些不太一樣的地方,首先是把 spdy 改為 http2(廢話(被揍飛!

另外就是 ssl_ciphers,由於我本來是使用

ssl_ciphers [email protected]:!aNULL:!eNULL;

但是卻無法啟動,總之就是 SSL 出了問題,後來改用 Mozilla 提供的 Modern 的那一組就可以,頗怪異,之前設定 SSL/SPDY 我使用的這個是跟 FIPS 有關,偏偏這裡不能用。

Mozilla 關於 FIPS 的解釋。

另外就是 Nginx 官方對於 ssl_ciphers 有提到這個 Appendix A: TLS 1.2 Ciper Suite Black List,所以使用上可能得留意這件事情。

接著 Apache 要設定 Protocol 的地方,Nginx 反而沒著墨,就裝好就可以用(這一點在 Nginx 官方的說明上也沒講?

最後,設定好之後,跑了一下,這邊跟 O3 跑出來的結果不太一樣,DOM Ready 的時間差異不算大(還變快?

SSL SPDY/3 結果:

SSL SPDY/3

SSL HTTP/2 結果:

SSL HTTP2

但是,我看不出差異(抹臉

但是,我看不出差異(抹臉

但是,我看不出差異(抹臉

跑 nghttp 的結果:

nghttp

伺服器上的 Log:

log

不過看 Log 好像不太準,因為我用 Firefox, Chrome, Chrome Canary, Safari 從後台看都是 HTTP/2.0 感覺有點奇怪。

最後最後,附上 SSL Server Test 的結果:

SSL Server Test