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:\Windows\System32目錄下
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>