【发布时间】:2016-03-22 23:27:33
【问题描述】:
我有使用 http 和 https 的 haproxy v1.5.4。我将 *:80 & :*443 绑定到相同的前端并使用相同的 acl。
我想创建一个 http -> https 重定向
frontend http-in
bind *:80
bind *:443 ssl crt /etc/pki/tls/certs/...
...
acl is_office path_beg /office
http-request redirect scheme https if !{ ssl_fc } is_office
use_backend office if is_office
这导致
10.XXXXX:36909 [16/Dec/2015:17:23:07.678] http-in/2: SSL handshake failure
当我通过 http 访问时(期待重定向)
如果我通过 https 访问,那么它会正确命中后端并通过 443 代理到服务。
backend office
balance roundrobin
server backbone-daily 10.XXXXXX:443 ssl check verify none
自签名证书无需重定向即可验证和工作。感觉就像我在重定向阶段遗漏了一些东西。
非常感谢任何帮助
【问题讨论】:
-
首先猜测是您为后端设置了“验证”,但使用的自签名证书会验证失败。
-
另外,您是否有意在负载平衡器和后端服务器上都拥有 SSL 证书? (2 个单独的证书)
-
您好,后端有 verify none 作为自签名证书。我想通过 SSL 将流量代理到 apache。我可以终止某些服务的 SSL,但我不想终止 CAS。我认为因为我可以在使用 https 时成功访问后端,所以重定向应该可以正常工作
-
你搞清楚了吗?
-
有人解决这个问题吗?