Nginx 目前已經支援 HTTP/2 協定,但若在 listen 參數中使用一般的語法來做設定,Nginx 會讓所有的 virtual host 全部一起走相同的 HTTP 協定:
server {
listen 443 ssl http2;
# ...
}
上面這個寫法,會讓所有 listen 443 的 virtual host 全部都走 HTTP/2。
要讓不同 host 使用不同 HTTP 協定,必須使用不同的 IP 來設定 virtual host:
server {
listen IP:443 ssl;
# ...
}
server {
listen NEW_IP:443 ssl http2;
# ...
}
參考資料:Can I enable HTTP/2 for specific server blocks (virtual hosts) only, on Nginx?