我有haproxy v1.5.4使用http& HTTPS。我有约束力*:80& :* 443到同一个前端并使用相同的acls。
我想创建一个http - > https重定向
change[n]
这会导致
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
当我通过http访问时(期望重定向)
如果我通过https访问,那么它正确地命中后端和代理到443上的服务。
10.XXXXX:36909 [16/Dec/2015:17:23:07.678] http-in/2: SSL handshake failure
自签名证书验证并在没有重定向的情况下工作。感觉就像我在重定向阶段缺少一些东西。
任何帮助非常感谢
答案 0 :(得分:0)
由于我们将HAProxy插件与仅具有GUI的OPNsense一起使用,因此我无法给出包含工作代码的答案。但是,我可以追溯最终使这项工作成功的步骤。
http-request redirect scheme https
我怀疑这会转化为如下代码:
frontend http-in
bind *:443 ssl crt /etc/pki/tls/certs/...
use_backend office if is_office
frontend no-ssl-http-in
bind *:80
http-request redirect scheme https
希望这对仍在寻找解决方案的人有所帮助。