Haproxy ssl重定向握手失败

2023-12-30

我有 haproxy v1.5.4,可以使用 http 和 https。我将 *: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

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

非常感谢任何帮助


由于我们使用带有 OPNsense 的 HAProxy 插件,该插件只有 GUI,因此我无法给出包含工作代码的答案。不过,我可以回顾一下最终使我们成功的步骤。

  1. 照常设置映射规则
  2. 设置规则 HTTP_REDIRECT 不带任何条件但使用函数http-request redirect scheme https
  3. Create two公共服务,一个用于端口 443,一个用于端口 80
  4. 使用 SSL 卸载和映射规则设置 443 的公共服务
  5. 为80人提供公共服务withoutSSL 卸载,仅您的 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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haproxy ssl重定向握手失败 的相关文章

随机推荐

  • 初始化 UIGestureRecognizer 作为 Swift 中属性定义的一部分?

    我想初始化一个UIPanGestureRecognizer作为一个UIViewController的属性定义 这样我就不必将其声明为可选 如果初始化仅发生在viewDidLoad 以下两次尝试都在编译时失败 我使用的是最新版本的 Xcode
  • 使用asp.net登录控制的部分站点SSL

    我正在尝试将本地登录系统转换为 net 中包含的标准asp net 登录控件 我希望未登录用户在网站上的所有通信都以明文形式进行 但一旦用户登录 就将所有内容锁定在 SSL 中 包括用户名和密码的传输 我之前通过加载第二个页面 logina
  • 具有嵌套列的 Apache Spark 窗口函数

    我不确定这是一个错误 或者只是语法不正确 我四处搜寻 没有看到其他地方提到这一点 所以我在提交错误报告之前在这里询问 我正在尝试使用在嵌套列上分区的窗口函数 我在下面创建了一个小示例来演示该问题 import sqlContext impl
  • SwiftUI:如何在工作表关闭后显示警报?

    我试图显示由模式表触发的警报 这是一个小型演示项目 import SwiftUI struct ContentView View State private var showSheet false State private var sho
  • InvalidStateStoreException:状态存储未在 Kafka 流中打开

    StreamsBuilder builder new StreamsBuilder Map
  • 是否支持小写“dockerfile”文件名以及支持多久了?

    我注意到我可以使用 dockerfile 和小写 d 我有一个客户 他对我们在 dockerfile 上使用小写 d 而不是大写 Dockerfile 提交的解决方案感到非常沮丧 显然 Docker 允许使用小写 d 因为它不会给我任何错误
  • 如何在一个 get 请求中返回多个 Mongoose 集合?

    我正在尝试生成一个响应 返回按 3 个不同列排序的相同集合 这是我目前拥有的代码 var findRoute router route find findRoute get function req res Box find functio
  • Git 以错误用户身份推送到远程 GitHub 存储库

    我有一个工作 GitHub 帐户和一个个人帐户 首先 我使用个人帐户进行测试项目 然后我继续使用同一台计算机上的另一个帐户创建存储库 现在我想再次在我的个人帐户上创建一个新的存储库 我更改了全局和本地user name 并创建了一个新的 s
  • 如何通过reactnavigation v5将参数从一个屏幕传递到另一个屏幕

    我有一个问题 有一个用户列表 我想向任何用户添加约会 因此在用户屏幕上有一个 PlusButton 在添加约会屏幕上发送用户 从用户屏幕的 headerRight 呈现的 PlusButton 但我不知道如何传递给 AddAppointme
  • 在 fullCalendar 中更改 slotDuration 而不重新加载页面

    使用 fullcalendar 我需要无需重新加载页面即可更改slotDuration参数取决于其他条件 我在一种情况下这样做 calendar fullCalendar option slotDuration 00 15 00 在其他情况
  • 如何在 NHibernate 中映射 Collection

    我有一个联系人类 基类 一个名为 客户 的类和一个名为 供应商 的类 客户和供应商类都派生自联系人 客户与订单有 0 n 关系 我想要在客户上有一个 Collection 属性 并将其在 NHibernate 中映射到其相应的表 在 NHi
  • T-SQL - 获取具有相同 B 集的所有 As 的列表

    我正在努力编写一个棘手的 SQL 查询 看一下下表 A B 1 2 1 3 2 2 2 3 2 4 3 2 3 3 4 2 4 3 4 4 现在 从这个表中 我本质上想要一个所有 A 的列表 它们具有完全相同的 B 集 并为每个集提供一个递
  • 如何在 DAX (Power BI Desktop) 中计算总价值的百分比

    我在 Power BI Desktop 中有以下切片器 其中客户数量计算为计数 不同 Fact EHRTransaction ClientFK 在我的数据模型中 我的目标是计算占总数的百分比 13 639 并将其作为度量或另一个列添加到此切
  • parse(text = str) 中出现意外符号错误,数字后带有连字符

    我正在尝试解析 R 中的字符串 当字符串中存在数字后跟连字符时 R 会抛出 意外符号 或 意外输入结束 异常 请参阅代码 搜索并尝试不同的方法来解决这个问题并没有帮助 可能是我的知识匮乏 任何帮助或建议将不胜感激 gt str lt abc
  • Umbraco 5询问用户是否有节点权限

    我正在使用 Umbraco 5 1 beta 在互联网上 此信息来自以前的版本 找不到最新的文档 我发现我可以询问节点用户是否具有访问权限 这样我想建立我的菜单 问题是 我无法让它工作 HasAccess 和 IsProtected 属性不
  • 如何使用 SwiftUI 扩展按钮的宽度

    我不知道如何更改 SwiftUI 中按钮的宽度 我已经尝试过 使用 frame minWidth 0 maxWidth infinity 在按钮和导航链接周围使用 Spacer 在文本字段上使用框架并在按钮上使用填充 查看文档以及我在网上搜
  • 为什么 PHP 对象运算符在浏览器中被视为结束标记? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 使用其他数组对对象数组进行排序

    我创建了这个对象数组 const palette color Blue brightness Soft color Blue brightness Medium color Blue brightness Principal color M
  • Magento 重写 getPrice()

    我已经通过覆盖 Magento 产品的价格规则getPrice 方法在 Mage Catalog Model Product Type Price 类 简单的产品工作正常 并显示我在中提到的更新价格getPrice i e public f
  • Haproxy ssl重定向握手失败

    我有 haproxy v1 5 4 可以使用 http 和 https 我将 80 和 443 绑定到相同的前端并使用相同的 acl 我想创建一个 http gt https 重定向 frontend http in bind 80 bin