【问题标题】:HAProxy wildcard SSL backend forward issueHAProxy 通配符 SSL 后端转发问题
【发布时间】:2014-04-10 04:42:48
【问题描述】:

我正在使用 HAProxy 1.5-dev21。我购买了通配符 SSL(例如:*.foo.com)。 我希望来自 Internet 端口 443 的所有流量都将根据域名重定向到内部网络,后端服务器是许多运行 HTTP 的 Web 服务器(例如:abc.foo.com:443 -> 192.168.10.10:80,edf.foo.com :443 -> 192.168.10.11:80) 但是,无论传入的域名是什么,HAProxy 都会将所有流量传递到默认后端。

如果我不使用 SSL,我的配置运行良好 以下是我的简化配置文件:

global
    log     127.0.0.1 local0
    log     127.0.0.1 local1 notice
    maxconn 4096

defaults
    log     global
    mode    http
    option  tcplog
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend https-in
    mode tcp
    bind :443 ssl crt /etc/haproxy/foo.com.pem
    use_backend abc if { hdr_end(host) -i abc.foo.com }
    use_backend def if { hdr_end(host) -i def.foo.com }
    default_backend application-backend

backend abc
    mode tcp
    server Server1 192.168.10.10:80

backend def
    mode tcp
    server Server2 192.168.10.11:80

backend application-backend
    mode tcp
    server server3 192.168.10.12:80

【问题讨论】:

  • 您成功解决了这个问题吗?

标签: ssl wildcard virtualhost haproxy


【解决方案1】:

当你有 SSL 时,你不能使用 hdr_end。这是我的做法:

frontend domain.com
        bind 10.50.81.131:443 ssl crt domain.com ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP
        bind 10.50.81.131:80
        mode http
        maxconn 300
        option httpclose
        option forwardfor
        reqadd X-Forwarded-Proto:\ https if { ssl_fc }
        use_backend first_farm if { ssl_fc_sni sub1.domain.com }
        use_backend second_farm if { ssl_fc_sni sub2.domain.com }
        default_backend default_farm

【讨论】:

  • 感谢您的回复。我之前尝试过 sni 而不是 hdr_end ,它仍然无法正常工作。我使用了你的配置,但是所有流量仍然传递给 default_backend。
【解决方案2】:

您在尝试访问 HTTP 内容时正在使用 tcp 模式。 请打开“模式 http”,它应该可以工作。

巴蒂斯特

【讨论】:

  • 我已更改为“模式 http”,但所有流量仍传递到 default_backend
猜你喜欢
  • 1970-01-01
  • 2016-06-29
  • 2013-12-28
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多