1:配置域名和服務器chrome
由於要支持QUIC協議必需要有本身的域名和安全證書,所以須要有本身的域名服務器,首先本身購買一個域名,而後和阿里雲公網以前申請的大陸服務器進行域名綁定,綁定後訪問網頁的時候顯示沒有備案,由於大陸的服務器和域名綁定的時候須要備案。備案過程很繁瑣,大約須要20個工做日。瀏覽器
爲了方便起見,購買了一週的香港服務器,香港服務器是不須要備案的。安全
首先將域名和香港服務器進行綁定和解析,以下圖 所示:服務器
綁定ip與域名後,顯示以下:網站
在本例實例安全組中配置規則:ui
由於QUIC協議走UDP端口,所以規則中除了其餘配置規則外,還須要配置UDP協議規則:以下圖所示google
2:服務器上部署Caddy阿里雲
而後將caddy服務器部署到服務器上,而且讓其在QUIC模式下運行。spa
其中Caddyfile配置以下和上一章講到的配置一致,此處省略。命令行
經過命令能夠看到UDP端口處於開啓狀態,若是沒有開啓QUIC協議,UDP默認是不開啓的,只開啓TCP:
3:QUIC客戶端支持
要在瀏覽器中運行QUIC協議,首先瀏覽器必須支持QUIC,目前支持QUIC的瀏覽器有chrome。
客戶端開啓QUIC:
在瀏覽器中運行chrome://flags,將Experimental QUIC protocal選項由default改成Enabled,重啓瀏覽器。
從上圖中能夠看出訪問域名的時候,服務器走的是caddy服務器。而且caddy默認提供安全證書。
除此以外,還必須讓瀏覽器強制對於指定域名啓用quic 協議。
在命令行輸入以下命令:
chrome.exe --no-proxy-server --enable-quic --quic-host-whitelist="HOST" --origin-to-force-quic-on=HOST:PORT
4:wireshark抓包以及碰到的問題
下載抓包軟件wireshark,從新運行網站,用wireshark進行抓包,而且過濾quic協議。
從上圖中,能夠看到並無檢測到quic請求。
在google瀏覽器中運行chrome://net-internals/#quic以下圖所示:
能夠看出google 62版本的瀏覽器支持的quic協議是39,可是caddy目前支持的最高QUIC協議版本是38,所以不兼容。
5:解決方案
解決方法:下載低版本的google。
所以我下了59版本的google,發現其支持caddy QUIC版本,經過命令行啓動:
而後經過chrome://flags開啓QUIC支持,從新開啓服務器,在瀏覽器中運行www.flowerfireegoo.com。
瀏覽器打開chrome://net-internals/#quic,刷新網站,以下所示:
經過抓包軟件,能夠看到走的是QUIC協議: