gpt4 book ai didi

redirect - Haproxy ssl 重定向握手失败

转载 作者:行者123 更新时间:2023-12-03 17:41:51 25 4
gpt4 key购买 nike

我有使用 http 和 https 的 haproxy v1.5.4。我将 *:80 & :*443 绑定(bind)到相同的前端并使用相同的 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

自签名证书无需重定向即可验证和工作。感觉就像我在重定向阶段遗漏了一些东西。

非常感谢任何帮助

最佳答案

由于我们将 HAProxy 插件与 OPNsense 一起使用,它只有一个 GUI,所以我无法给出包含工作代码的答案。但是,我可以追溯最终使这项工作对我们有用的步骤。

  • 像往常一样设置映射规则
  • 设置规则 HTTP_REDIRECT 不带任何条件但使用函数 http-request redirect scheme https
  • 创建两个公共(public)服务,一个用于端口 443,一个用于端口 80
  • 使用 SSL 卸载和映射规则为 443 设置公共(public)服务
  • 为 80 设置公共(public)服务,无需 SSL 卸载,只有您的 HTTP_REDIRECT 规则

  • 我怀疑这会转化为这样的代码:
    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

    希望这对仍在寻找解决方案的人有所帮助。

    关于redirect - Haproxy ssl 重定向握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318597/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com