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

如何在Apache Tomcat 8中禁用HTTP/1.1,仅允许HTTP/2请求?

如何在Apache Tomcat 8中仅保留HTTP/2协议支持,禁用HTTP/1.1

要让Tomcat 8仅处理HTTP/2请求、拒绝HTTP/1.1请求,只需修改conf/server.xml中的连接器配置,具体步骤如下:

  1. 打开Tomcat安装目录下的conf/server.xml文件
  2. 定位到已配置SSL的NIO/NIO2连接器(Tomcat 8中HTTP/2依赖NIO/NIO2且默认要求加密传输)
  3. 在连接器标签中添加两个关键配置:
    • http2Protocol="org.apache.coyote.http2.Http2Protocol":启用HTTP/2协议支持
    • allowHttp11="false":明确禁用HTTP/1.1请求处理

修改后的完整连接器示例:

<Connector port="8443" 
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" 
           SSLEnabled="true"
           http2Protocol="org.apache.coyote.http2.Http2Protocol"
           allowHttp11="false">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

说明

  • allowHttp11="false"会强制连接器拒绝所有HTTP/1.1协议的请求,仅接受HTTP/2请求
  • 若你使用的是明文HTTP/2(h2c)场景,同样可以添加allowHttp11="false",但需确保连接器未配置SSL且已启用http2Protocol
  • 修改完成后重启Tomcat,再次测试即可验证:HTTP/1.1请求会被拒绝,HTTP/2请求可正常获取响应

内容的提问来源于stack exchange,提问作者Максим Казаченко

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:35:36