HTTP 2.0即超文字傳輸通訊協定 (HTTP) 2.0,是下一代HTTP協議。是由互連網工程工作群組(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小組進行開發。是自1999年http1.1發布後的首個更新。
HTTP/2 協議是從 SPDY 演變而來,SPDY 已經完成了使命並很快就會退出曆史舞台(例如 Chrome 將在「2016 年初結束對 SPDY 的支援」;Nginx、Apache 也已經全面支援 HTTP/2 ,並也不再支援 SPDY)。
一般的大家把 HTTP2 簡稱為 h2,儘管有些朋友可能不怎麼願意,但是這個簡稱已經預設化了,特別是體現在瀏覽器對 HTTP2 都是這個簡寫的。
一:nginx的安裝
http2需要ssl的支援,需要的軟體包如下
nginx-1.9.12.tar.gz
openssl-1.0.1s.tar.gz
pcre-8.38.zip
zlib-1.2.8.tar.gz
預設編譯的 nginx 並不包含 http2 模組。所以編譯nginx的時候,至少需要啟用 http_v2_module 和 http_ssl_module 這兩個模組
./configure --prefix=/usr/local/nginx --with-zlib=/tmp/2/zlib-1.2.8 --with-pcre=/tmp/2/pcre-8.38 --with-http_v2_module --with-http_ssl_module --with-openssl=/tmp/2/openssl-1.0.1s
注意,指定的是openssl,pcre,zlib 的源碼包路徑,不是安裝後的路徑
然後
make
make install
二:使用openssl建立SSL認證
參照:http://blog.csdn.net/mn960mn/article/details/42374597
三:nginx的配置
server { listen 443 ssl http2; server_name http2.yuni.com; ssl_certificate /usr/local/nginx/ssl/server.crt; ssl_certificate_key /usr/local/nginx/ssl/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers off; location / { root html; index index.html index.htm; }}
儲存退出,然後啟動nginx
四:測試
最好使用最新版的chrome、firefox瀏覽器,我這裡使用chrome v49
在本地hosts裡面配置http2.yuni.com指向nginx的ip地址
然後,訪問https://http2.yuni.com 注意,一定要使用https
查看nginx的access.log日誌
以上就介紹了nginx http2配置,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。