如何强制用户代理使用更高版本的 HTTP?

如何强制用户代理使用更高版本的 HTTP?

AOpenLiteSpeed 网络服务器正在运行AlmaLinux 8

HTTP/1.1HTTP/2HTTP/3 QUIC已启用。

80/TCP443/TCP443/UDP港口向公众永久开放。

服务器正在发送以下alt-svc标头:

h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"

该装置已被测试为http3check成功。

但是用户代理,也就是浏览器,大多数时候都是通过 HTTP/1.1 进行连接的。有时它们也会使用 HTTP/2。HTTP/3 的使用则很少。

应该怎么做才能让浏览器优先选择更高版本的 HTTP?

答案1

应该怎么做才能让浏览器优先选择更高版本的 HTTP?

为了使用 HTTP/3

  • 浏览器需要实现它
  • 它必须能够通过 UDP 端口 443 与您的服务器通信。这意味着,如果涉及 HTTP 或 SOCKS 代理(无 UDP)或 UDP 端口 443 被阻止,则不会使用 HTTP/3。阻止通常是为了强制使用 HTTP/2 或 HTTP/1,以便轻松进行深度数据包检查

为了使用 HTTP/2

  • 浏览器需要实现它
  • 它必须能够连接到服务器而不会被 SSL 拦截。使用 SSL 拦截时,通常不会将 ALPN TLS 扩展转发到服务器,但此扩展用于向服务器声明对 HTTP/2 的支持。没有此扩展,服务器将不会尝试。SSL 拦截通常在企业防火墙中进行,但也在许多防病毒产品中进行。在这种情况下降级到 HTTP/1 是一个受欢迎的副作用,因为它使流量分析更容易。

请注意,这些都不受服务器控制。这些都是客户端问题,会阻止使用 HTTP/3 访问您的服务器。您无法在服务器端采取任何措施来修复客户端问题。

相关内容