You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tomcat10.1.20 Http2协议无法获取ConnectionID与StreamID值咨询

问题解决:Tomcat 10.1.20 HTTP/2 connectionID和streamID属性为null

首先明确:HTTP/1.1协议本身不存在connectionID和streamID的概念,所以HTTP连接下这两个属性返回null是正常行为,无需处理。

针对HTTP/2连接下属性为null的问题,核心原因是Tomcat默认不开启HTTP/2请求属性的暴露,需手动配置开启:

解决步骤

  1. 修改tomcat/server.xml中的Connector配置,给Http2Protocol添加enableRequestAttributes="true"参数:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" ...>
  <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" enableRequestAttributes="true" />
</Connector>
  1. 重启Tomcat服务。

验证结果

配置完成后,使用Firefox通过HTTPS连接时,调试代码应能输出非null的connectionID和streamID值:

getProtocol: HTTP/2.0
connectionID: [实际连接ID值]
streamID: [实际流ID值]
getScheme: https

关键说明

  • Tomcat 10.1.x中,Http2Protocol的enableRequestAttributes参数默认值为false,仅当设置为true时,才会将org.apache.coyote.connectionID和org.apache.coyote.streamID注入到请求属性中。
  • 需匹配Tomcat版本对应的官方文档,避免版本差异导致配置失效。

内容的提问来源于stack exchange,提问作者Whome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 21:12:34