如何在HAProxy上启用HTTP/2?

ssh*_*rma 20 https http haproxy http2

我们最近从HTTP转移到了HTTPS.由于我们已经转移到HTTPS,我们正在考虑转向HTTP/2以获得性能优势.

在此输入图像描述

如上所述,浏览器和LB之间的请求是安全的(HTTPS),而LB和应用服务器之间的通信仍然使用HTTP

使用当前设置启用HTTP/2的可能性有多大?我们可以在浏览器和LB之间启用HTTP/2,而LB和应用服务器之间的通信仍然在HTTP上吗?

mik*_*ana 36

HAProxy 1.8支持HTTP/2

1.8公告:

HAProxy 1.8现在支持客户端(在前端部分)的HTTP/2,并且可以充当HTTP/2客户端与HTTP/1.1和HTTP/1.0应用程序之间的网关.

你需要你的h2指令haproxy.conf.来自CertSimple的HAProxy HTTP/2和动态负载平衡指南:

frontend myapp
  bind :443 ssl crt /path/to/cert.crt alpn h2,http/1.1
  mode http
Run Code Online (Sandbox Code Playgroud)

旧版本的HAProxy

较旧版本的HAProxy(如1.6和1.7)仅支持直通HTTP/2 - 即将流量定向到支持HTTP/2的单独应用服务器.这要复杂得多 - 请参阅有关如何执行此操作的其他答案.要终止HTTP/2并读取HAProxy上的流量,您需要HAProxy 1.8.

  • 这里快速说明:alpn http/1.1,h2 - alpn选项的顺序是"首选项".因此,如果您希望用户首先使用HTTP2,请使用:alpn h2,http/1.1 (2认同)