1、http/2.0需要开启https
参考:https://www.cnblogs.com/zhi-leaf/p/11978615.html
2、下载tcnative-1.dll文件
官网下载地址:https://tomcat.apache.org/download-native.cgi
3、文件解压后,将x64/tcnative-1.dll复制到C:WindowsSystem32目录下
4、修改$TOMCAT_HOME/conf目录下的server.xml文件,增加配置
5、启动tomcat后输出以下日志
6、使用火狐浏览器访问tomcat,我们发现http版本已经变更为http/2.0了
备注:
1、当protocol使用org.apache.coyote.http11.Http11NioProtocol,且操作系统支持apr时,则tomcat会自动使用OpenSSL,代码如下:
2、 当protocol使用org.apache.coyote.http11.Http11NioProtocol,且jdk使用jdk8以上时,也可以配置<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />,使用http/2.0。jdk8.x默认不支持ALPN(Application Layer Protocol Negotiation,应用层协议协商),所以没有apr的支持,无法实现http/2.0,jetty有自己的ALPN实现包,不受必须jdk8以上的限制。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeyFile="conf/localhost.key" certificateFile="conf/localhost.crt" type="RSA" /> </SSLHostConfig> </Connector>