如何在Tomcat中配置/启用HTTP3?求官方可参考步骤
在Tomcat中配置/启用HTTP/3
前提条件
- Tomcat版本需为10.0.0-M1及以上(Tomcat 9及更早版本不支持HTTP/3)
- 依赖OpenSSL 1.1.1g或更高版本(QUIC协议依赖该版本的OpenSSL)
配置步骤
1. 开启HTTP/3开关
在原Connector标签中添加http3="on"参数,启用HTTP/3支持;协议可保留org.apache.coyote.http11.Http11NioProtocol,也可使用Http11AprProtocol(需提前配置好APR库)。
2. 更新SSL适配QUIC协议
HTTP/3基于QUIC,必须依赖TLS 1.3,因此需调整SSL相关配置:
- 修改
sslEnabledProtocols,加入TLSv1.3 - 更新
ciphers,添加TLS 1.3专属加密套件(TLS 1.3套件格式无需旧版前缀)
3. 可选:指定UDP端口
默认Tomcat会复用HTTPS的TCP端口作为HTTP/3的UDP端口,若需单独指定,可添加http3Port参数自定义。
修改后的Connector示例
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="mykeystorejks" keystorePass="****" server="Unknown" sslEnabledProtocols="TLSv1.2,TLSv1.3" ciphers="!aNULL,!eNULL,!EXPORT,!DES,!MD5,!PSK,!RC4,!3DES,!CBC3, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256" http3="on" />
注意事项
- 若使用
Http11AprProtocol,需确保APR和OpenSSL库已正确安装并在Tomcat中启用 - 验证生效方式:用Chrome、Firefox等支持HTTP/3的浏览器访问站点,通过开发者工具网络面板查看协议是否为
h3 - 官方文档说明:Tomcat对应版本的Connector配置章节中已记录HTTP/3参数,可搜索“HTTP/3”或“QUIC”获取细节
内容的提问来源于stack exchange,提问作者Rameshchandra Joshi
相关产品推荐
相关产品推荐

