HA 代理 - 在同一域 ACL 上同时使用 HTTP 和 HTTPS

问题描述

我在多个主机上有一个有效的 HA-Proxy 转发请求 HTTPS。 对于一台主机,HTTP 流量应保持为纯 HTTP

我知道可以避免一个规则的重定向规则,但我不清楚是否需要声明两个后端

现有代码

frontend HTTPIN
    bind localhost:80
    bind localhost:443 ssl crt-list /etc/haproxy/ssl/crt-list
    
    http-request set-header X-Forwarded-Port %[dst_port]
    http-request add-header X-Forwarded-Proto https if { ssl_fc }

    redirect scheme https code 301 if !{ ssl_fc }
    
    acl host_HOST1 hdr(host) -i sub.domain.com
    
    use_backend HOST if host_HOST1
    
backend HOST
    server host_ip host_ip:443 check ssl check-ssl verify none
    http-check expect rstring ^200\ OK(.*)$

目标是让 http://sub.domain.com 转到 host_ip:80,https://sub.domain.com 转到 host_ip:443。

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)