在HAProxy中,如何将所有域重定向到HTTPS(某些域除外)?

jih*_*ihi 5 https haproxy

我的所有前端服务器都在使用HAProxy作为负载均衡器。它将所有传入的请求重定向到https:

frontend front_http
 mode http
 redirect scheme https if !{ ssl_fc }  
 maxconn 10000
 bind 0.0.0.0:80
 reqadd X-Forwarded-Proto:\ http
 default_backend back_easycreadoc

frontend front_https
 mode http
 maxconn 10000
 bind 0.0.0.0:443 ssl crt /etc/haproxy/ssl.crt
 reqadd X-Forwarded-Proto:\ https
 default_backend back_easycreadoc
Run Code Online (Sandbox Code Playgroud)

我们将添加一些我们没有证书的域(我们不拥有这些域,我们的客户拥有它们)。如何让连接在端口80上通过而不将其重定向到https(仅适用于这些域)?

Irv*_*hoi 3

frontend front_http
 mode http
 acl host_one hdr(host) -i www.one.com
 acl host_two hdr(host) -i www.two.com
 redirect scheme https if !host_one !host_two
 maxconn 10000
 bind 0.0.0.0:80
 reqadd X-Forwarded-Proto:\ http
 default_backend back_easycreadoc
Run Code Online (Sandbox Code Playgroud)

http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#redirect