Nginx的HTTP/3兼容版本已經釋出。試著實際安裝看看。
(值得一提的是,目前支援的是HTTP/3 draft 27版本)
基本上,只需按照「README」文件的指示進行操作即可。
準備工作
順便提一下,我的環境是 Ubuntu 18.04 Bionic
我們需要先安裝所需的套件,並建置相依的 boringssl。
$ sudo apt install mercurial ninja-build
$ git clone https://boringssl.googlesource.com/boringssl
$ cd ./boring/
$ mkdir build
$ cd build
$ cmake -GNinja ..
$ ninja
$ ../
建置 Nginx
進行建置作業
$ hg clone -b quic https://hg.nginx.org/nginx-quic
$ cd nginx-quic
$ ./auto/configure –with-debug –with-http_v3_module \
–with-cc-opt=”-I../boringssl/include” \
–with-ld-opt=”-L../boringssl/build/ssl \
-L../boringssl/build/crypto”
$ make
$ #sudo make install
設定與啟動
將以下內容加入到 “/usr/local/nginx/conf/nginx.conf” 檔案中
在 listen 中指定 http3 和 reuseport。
此外,為了通知客戶端支援 HTTP3,我們會發送 Alt-Svc 標頭。
http {
server {
# for better compatibility it’s recommended
# to use the same port for quic and https
listen 443 http3 reuseport;
listen 443 ssl;
ssl_certificate certs/example.com.crt;
ssl_certificate_key certs/example.com.key;
ssl_protocols TLSv1.3;
location / {
# required for browsers to direct them into quic port
add_header Alt-Svc ‘h3-27=”:443″; ma=60’;
}
}
}
實際連線
根據官方說法,據說Firefox 75以上和Chrome 83以上可以運行。
這次我們試著在Chrome Canary中啟用http3 draft27並啟動。
$ ./chrome --enable-quic --quic-version=h3-27
如果不知道Chrome的啟動路徑,可以打開Chrome並輸入chrome://version/在網址欄中,就能找到啟動路徑。然後,加上上述選項。
(由於瀏覽器進展迅速,未來可能會使用最新的h3-29規範代替h3-27。)
確認協定
確認連接後使用Chrome的開發者工具,可以從h3-27進行通訊。
- 印尼高鐵計劃混亂重重,日本提案呼聲再起 - 2024 年 5 月 17 日
- 在你離開世界之前必去的十大世界景點 - 2024 年 2 月 24 日
- 特斯拉Tlsla與豐田Toyota的市場對決:電動車與混合動力車的未來之戰 - 2023 年 12 月 12 日