我有使用 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
Run Code Online (Sandbox Code Playgroud)
这引起
10.XXXXX:36909 [16/Dec/2015:17:23:07.678] http-in/2: SSL handshake failure
Run Code Online (Sandbox Code Playgroud)
当我通过 http 访问时(期待重定向)
如果我通过 https 访问,那么它会正确地访问后端并通过 443 代理通过服务。
backend office
balance roundrobin
server backbone-daily 10.XXXXXX:443 ssl check verify none
Run Code Online (Sandbox Code Playgroud)
自签名证书无需重定向即可验证和工作。感觉就像我在重定向阶段遗漏了一些东西。
非常感谢任何帮助