跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

HTTP/3 检查

最后更新 查看 MarkdownAgent 设置

HTTP/3 使用基于 UDP 而非 TCP 的 QUIC 协议。由于 Gateway 的默认代理只处理 TCP 流量,HTTP/3 检查需要开启 UDP 代理。若不开启,HTTP/3 流量会绕过 HTTP 检查。网络策略仍会应用于底层 UDP 流量。

Gateway 最后才将 HTTP 策略应用于 HTTP/3 流量。有关更多信息,请参阅执行顺序。

开启 HTTP/3 检查

在检查任何 HTTPS 流量之前,你必须将用户端证书部署到设备,并开启 TLS 解密。要检查 HTTP/3 流量,还必须为 UDP 开启 Gateway 代理。

要为 UDP 开启 Gateway 代理并开启 TLS 解密:

  1. 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Traffic policies(流量策略) > Traffic settings(流量设置)。
  2. 在 Proxy and inspection(代理与检查) 中,开启 Allow Secure Web Gateway to proxy traffic(允许 Secure Web Gateway 代理流量)。
  3. 选择 TCP 和 UDP。
  4. 开启 TLS decryption(TLS 解密)。

应用程序限制

Gateway 可以通过建立 HTTP/3 代理连接来检查来自 Mozilla Firefox 和 Microsoft Edge 的 HTTP/3 流量。随后 Gateway 会终止 HTTP/3 连接,解密并检查流量,再通过 HTTP/2 连接到目标服务器。Gateway 也可以检查其他 HTTP 应用程序,例如 cURL。

如果 UDP 代理和 TLS 解密均已开启,Google Chrome 会自动取消 HTTP/3 连接并改用 HTTP/2 重试,而 Gateway 可以检查 HTTP/2。如果 UDP 代理或 TLS 解密任一关闭,来自 Chrome 的 HTTP/3 流量会完全绕过检查。

将 HTTP/3 流量排除出检查

如果你需要从客户端到源站的端到端加密 HTTP/3 流量,同时仍使用 Gateway 代理,可以创建 Do Not Inspect HTTP 策略 来匹配所需流量。使用 Do Not Inspect 策略可让 HTTP/3 流量绕过 Gateway 的 TLS 解密和检查,从而保留代理性能和端到端加密。

强制使用 HTTP/2 流量

要在不开启 UDP 代理的情况下将 Gateway 策略应用于 HTTP 流量,必须在用户浏览器中关闭 QUIC,以确保只有 HTTP/2 流量到达 Gateway。

Google Chrome

  1. 转到 chrome://flags
  2. 将 Experimental QUIC protocol 设置为 Disabled。
  3. 重新启动 Chrome。

Safari

你无法在 Safari 中关闭 QUIC。所有流量都将通过 HTTP/3 发送。

Firefox

  1. 转到 about:config。
  2. 如果收到警告,选择 Accept the Risk and Continue。
  3. 将 network.http.http3.enable 设置为 false。
  4. 重新启动 Firefox。

Microsoft Edge

  1. 转到 edge://flags
  2. 将 Experimental QUIC protocol 设置为 Disabled。
  3. 重新启动 Edge。

这篇文档对您有帮助吗?