for*_*own 1 http https tcp haproxy
我正在使用 haproxy 版本 1.6.2
我已经使用下面的配置启用了 http2,我需要使用“模式 tcp”。但是一旦我从“模式 http”切换到“模式 tcp”,我就无法使用 acl path_beg
frontend websocks
mode tcp
bind *:443 ssl crt /etc/certs/domain.pem alpn h2,http/1.1 ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; no-sslv3
timeout client 1h
acl is_api path_beg /api
acl is_xmpp path_beg /chat
use_backend api_backend if is_api
use_backend xmpp_backend if is_xmpp
use_backend fe_public_tcp if { ssl_fc_alpn -i h2 }
default_backend fe_public
fe_public
server fe1 localhost:444 weight 1 maxconn 4096 check inter 10000 ssl verify none
fe_public_tcp
mode tcp
server fe1 localhost:445
api_backend
server api1 localhost:9966
xmpp_backend
server xmpp1 localhost:9955
Run Code Online (Sandbox Code Playgroud)
如何让 path_beg 和 http2 再次工作?或者有没有办法在没有模式tcp的情况下启用http2?
要使用协议特定功能,您必须使用适当的模式。模式 tcp 使您只能访问特定于 tcp 的功能,但要获得特定于 http 的功能,例如根据 URI 选择后端,您需要使用模式 http。
不幸的是,HTTP/2 看起来与 HTTP/1.x 非常不同,目前不支持模式 http,因此您必须使用模式 tcp。这也意味着只要您想支持 HTTP/2,就不能根据 URI 做出任何决定。
haproxy 1.7 版有望更好地支持 HTTP/2。来自http://www.haproxy.org/news.html:
2015 年 5 月 15 日:HTTP/2 发布!
今天,HTTP/2 正式以 RFC7540 和 RFC7541 的形式存在。... 1.6 版尚不支持 HTTP/2 ... 我们希望在年底前在 1.7 开发周期内支持它。
归档时间: |
|
查看次数: |
2761 次 |
最近记录: |