![TLS 直通(非终止)HTTPS 反向代理/HTTP/3 负载均衡器](https://linux22.com/image/777774/TLS%20%E7%9B%B4%E9%80%9A%EF%BC%88%E9%9D%9E%E7%BB%88%E6%AD%A2%EF%BC%89HTTPS%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%2FHTTP%2F3%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8.png)
我有一个主机系统,它有一个公共 IP 地址,运行多个虚拟机。每个虚拟机都托管多个网站,并且应该控制它们的 HTTPS 连接的 TLS 密钥。要使此设置正常工作,主机系统应在端口 443 上运行反向代理,根据以下情况将传入请求转发到相应的虚拟机信噪比这样,主机系统就不需要解密 TLS 流量。主机系统通过 HTTP/1 或 HTTP/2 接收请求,并使用PROXY 协议告诉虚拟机有关传入连接的详细信息。
这种设置通常称为“TLS 直通”,并由主机系统的各种 Web 服务器支持,例如:
- nginx 使用ngx_stream_ssl_preread_module
- traefik 使用
passthrough
- haproxy 使用
req.ssl_sni
我现在想为主机系统添加 HTTP/3 支持。我对此主题的专业知识还不够,无法判断虚拟机是否也需要支持 HTTP/3(以及 PROXY 协议是否适用于 HTTP/3),或者主机系统是否可以在将传入的 HTTP/3 请求转发到虚拟机之前将其转换为 HTTP/1 而不加密。
我一直没能找到方法来设置它:
是否有任何反向代理/负载均衡器软件支持 HTTP/3 的 TLS 直通和 SNI 路由?
(请注意,另一种方法是将单独的 HTTP/3 UDP 端口转发到每个虚拟机。端口必须小于 1024。