HTTP/2 使用 TCP 传输协议和 TLS 保护通信,并改善页面加载时间。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
Can customize | No | Yes | Yes | Yes |
所有套餐默认启用 HTTP/2(但需要在 Cloudflare 边缘网络上的 SSL 证书)。
Free 套餐上的域名无法禁用 Cloudflare 的 HTTP/2 设置。
要在仪表板中禁用 HTTP/2:
- 登录 Cloudflare 仪表板 ↗。
- 选择你的账户和 zone。
- 前往 Speed(速度) > Settings(设置)。
- 前往 Protocol Optimization(协议优化)。
- 对于 HTTP/2,将开关切换为 Off。
要通过 API 禁用 HTTP/2,请发送 PATCH 请求,在 URI 路径中将设置名称设为 http2,并将 value 参数设为 "off"。
经 Cloudflare 代理的请求可能导致访问者在 Developer Tools Console 中看到错误代码 ERR_HTTP2_PROTOCOL_ERROR。这些错误通常源于源站 Web 服务器配置问题,但根据客户端浏览器行为,可能仅在请求经 Cloudflare 代理时才会显现。一些可能原因包括:
源站 Web 服务器可能发送了格式不正确的 HTTP 响应标头。
直接向源站 Web 服务器发起请求,并检查其 HTTP 响应标头是否存在异常。确保字段值符合以下要求:
压缩问题的示例包括:源站 Web 服务器提供 gzip 编码的压缩内容但未更新 Content-Length 标头,或源站 Web 服务器提供损坏的 gzip 压缩内容。
可以尝试在源站 Web 服务器上禁用压缩,并依赖 Cloudflare 进行内容压缩。
也可以检查源站服务器的压缩设置,确保压缩按预期工作。