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协议: