在这里重新询问the question from HA-Proxy discourse site,希望引起更多关注。
我正在使用HA-Proxy版本1.9.4 2019/02/06将HTTP流量代理到h2c后端。但是,我看到HA-Proxy在代理请求时将:scheme设置为https
(据我所知,在请求中使用SSL)。当我直接访问后端时,:scheme设置为http
,并且请求是非SSL预期的。我已经使用wireshark验证了这种HA代理行为。
关于我应该在配置中进行哪些更改的任何建议,以便可以设置为在将请求代理到后端时将:scheme设置为http
?
我正在使用curl 7.54.0发出请求: $ curl http://localhost:9090 HA-Proxy在端口9090上侦听的位置。
我的HA-Proxy配置文件:
global
maxconn 4096
daemon
defaults
log global
option http-use-htx
timeout connect 60s
timeout client 60s
timeout server 60s
frontend waiter
mode http
bind *:9090
default_backend local_node
backend local_node
mode http
server localhost localhost:8080 proto h2
答案 0 :(得分:0)
尚不支持。 "engines": {"node": "8"}
连接可以是HTTP / 2,client=>haproxy
连接不能。
https://cbonte.github.io/haproxy-dconv/1.9/configuration.html#1.1
HTTP / 2仅支持传入连接,不支持连接 进入服务器。
答案 1 :(得分:0)
只需在服务器定义中添加proto h2
。
引用example:
server server1 192.168.1.13:80 proto h2
这是haproxy-1.9的实验功能,必须启用option http-use-htx
才能使用它。
option http-use-htx
默认为启用。
答案 2 :(得分:0)
它被报告为issue in haproxy github,并且已经fixed in version 2.0。