Skip to content

[BUG] Redis 聊天记忆启用 SSL 后缺少 bundle 不应静默建立明文配置 #53

Open

Description

@Aias00

基线与代码依据

Extensions 495414b76a37aca4d7c1022d973a8e5b9a7e92e6;Core 76d44429fdaa6a69320e21a1cb77119d0889d792。两个仓库已更新,远端均无新提交。

Jedis applyConfiguration、Lettuce applyConfiguration 同样只在 useSsl && hasText(bundle) 分支启用 TLS。

已复现问题

调用 RedissonRedisChatMemoryRepository.builder().useSsl(true).build(),不设置 bundle。替换 Redisson.create 捕获实际生成 Config,single-server address 仍为 redis://127.0.0.1:6379,而不是 rediss://,也没有配置错误。

Jedis/Lettuce 源码具有相同双重条件。自动配置会将 ssl.enabled 与 ssl.bundle 分别传入,因此公开 SSL 开关存在被静默忽略的配置组合。本次验证的是实际客户端配置,不是网络抓包。

交付与验收

  • useSsl/ssl.enabled=true 必须生成 TLS 配置,或在缺少必要 bundle 时启动失败;不得静默降级明文。
  • 明确是否支持系统默认信任库;SSL bundle 是可选自定义材料还是必填项,按该契约校验。
  • 三客户端、单机/集群、直接 Builder/自动配置行为一致;自定义客户端配置优先级清晰。
  • 覆盖无 bundle、空 bundle、不存在 bundle、有效 bundle 及 TLS 关闭;真实 TLS Redis 验证握手、主机校验与错误证书拒绝。
  • 不以禁用证书验证作为修复;默认非 TLS 应用升级影响明确。

验证边界与变更约束

本次使用当前实际编译类进行可执行验证,Redis 客户端/命令边界使用 Mockito 替换,未声称已通过真实 Redis、TLS 握手或集群验收。修复需增加真实后端验证。优先局部修复;若涉及公开 API、默认行为、坐标或存量数据,说明消费者影响、兼容替代、迁移/回滚及目标版本,不等待 Agent/Workflow/Loop 全局重构。关联 #30、#34;#34 是包职责整理,本单是具体运行行为缺陷。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions