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>