金沙易记域名4166amCaddy域名配置与QUIC协议

作者:金沙易记域名4166am

1:配置域名和服务器

 因为要支持QUIC协议必须要有自己的域名和安全证书,因此需要有自己的域名服务器,首先自己购买一个域名,然后和阿里云公网之前申请的大陆服务器进行域名绑定,绑定后访问网页的时候显示没有备案,因为大陆的服务器和域名绑定的时候需要备案。备案过程很繁琐,大约需要20个工作日。

       为了方便起见,购买了一周的香港服务器,香港服务器是不需要备案的。

       金沙易记域名4166am 1

金沙易记域名4166amCaddy域名配置与QUIC协议。  首先将域名和香港服务器进行绑定和解析,如下图 所示:

       金沙易记域名4166am 2

  绑定ip与域名后,显示如下:

       金沙易记域名4166am 3

金沙易记域名4166amCaddy域名配置与QUIC协议。  在本例实例安全组中配置规则:

金沙易记域名4166amCaddy域名配置与QUIC协议。     因为QUIC协议走UDP端口,因此规则中除了其他配置规则外,还需要配置UDP协议规则:如下图所示

  金沙易记域名4166am 4

2:服务器上部署Caddy

  然后将caddy服务器部署到服务器上,并且让其在QUIC模式下运行。

  金沙易记域名4166am 5

  其中Caddyfile配置如下和上一章讲到的配置一致,此处省略。

  通过命令可以看到UDP端口处于开启状态,如果没有开启QUIC协议,UDP默认是不开启的,只开启TCP:

  金沙易记域名4166am 6

  金沙易记域名4166am 7

  金沙易记域名4166am 8

3:QUIC客户端支持 

  要在浏览器中运行QUIC协议,首先浏览器必须支持QUIC,目前支持QUIC的浏览器有chrome。

金沙易记域名4166amCaddy域名配置与QUIC协议。  客户端开启QUIC:

  在浏览器中运行chrome://flags,将Experimental QUIC protocal选项由default改为Enabled,重启浏览器。

  金沙易记域名4166am 9

  运行www.flowerfireegoo.com

  金沙易记域名4166am 10

  金沙易记域名4166am 11

  从上图中可以看出访问域名的时候,服务器走的是caddy服务器。并且caddy默认提供安全证书。

  除此之外,还必须让浏览器强制对于指定域名启用quic 协议。

  在命令行输入如下命令:

  chrome.exe --no-proxy-server --enable-quic --quic-host-whitelist="HOST" --origin-to-force-quic-on=HOST:PORT

  金沙易记域名4166am 12

4:wireshark抓包以及碰到的问题 

  下载抓包软件wireshark,重新运行网站,用wireshark进行抓包,并且过滤quic协议。

  金沙易记域名4166am 13

  

  从上图中,可以看到并没有检测到quic请求。

  在google浏览器中运行chrome://net-internals/#quic如下图所示:

  金沙易记域名4166am 14

  金沙易记域名4166am 15

  

  可以看出google 62版本的浏览器支持的quic协议是39,但是caddy目前支持的最高QUIC协议版本是38,因此不兼容。

5:解决方案

  解决方法:下载低版本的google。

  因此我下了59版本的google,发现其支持caddy QUIC版本,通过命令行启动:

  金沙易记域名4166am 16 

  然后通过chrome://flags开启QUIC支持,重新开启服务器,在浏览器中运行www.flowerfireegoo.com。

  浏览器打开chrome://net-internals/#quic,刷新网站,如下所示:

  金沙易记域名4166am 17

  通过抓包软件,可以看到走的是QUIC协议:

  金沙易记域名4166am 18

 

 

  

 

 

  

 

 

 

 

 

 

 

 

 

 

  

 

 

   

 

本文由金沙易记域名4166am发布,转载请注明来源

关键词: