[错误]:Azure 受管 Redis 入口 ID 登录失败,错误为 "network_error": 在 TLS 监视代理后获取失败
**预备条件** (我们需要了解的任何重要步骤) - 具有 TLS 监控转发代理 (Zscaler) 的企业环境,该代理使用内部企业 PKI (自定义根/中间 CA) 重新签名 HTTPS 流量,而不是公共可信任 CA。 - 内部根 CA 已安装并受信任于 Windows 证书存储中 (浏览器和其他集成到操作系统的应用程序都正常工作)。 - 尝试使用 Microsoft Entra ID 身份验证连接到 Azure 托管 Redis。 **重现步骤** (逐步重现您发现的问题) - 在使用内部 CA 的 TLS 监控代理后面的机器上正常启动 Redis Insight (通过桌面/开始菜单快捷方式)。 - 添加数据库/启动使用 Entra ID 身份验证的 Azure 托管 Redis 连接流程。 - 完成 (或尝试) Azure OAuth 登录 (深链重定向)。 - 观察登录失败,出现通用错误。 **实际行为** (对您发现的问题的简要描述) - 登录失败,出现通用"Azure 身份验证失败"消息。 后端调试日志显示与 Entra 在网络层交换令牌失败: INFO | AzureAuthController | 正在启动 Azure OAuth 登录,重定向类型为深链 ERROR | AzureAuthService | 令牌获取失败: network_error: 网络请求失败: fetch 失败 - 根本原因: Redis Insight Node 后端仅使用其捆绑的 CA 列表进行 TLS 验证,并且不信任操作系统/企业根存储。 当代理使用内部 CA 重新签名 login.microsoftonline.com 时,Node 拒绝证书,MSAL 令牌请求因通用 fetch 失败而失败。 观察呈现的链确认其终止在内部企业根处,例如: leaf: CN=stamp2.login.microsoftonline.com (由"代理"发行) -> CN=代理 (O=<公司>) -> CN=<内部发行 CA> (DC=...) -> CN=<内部根 CA> (自签名的内部根) - 缺陷修复: 将内部 CA 链导出为 PEM 束,并在启动 Redis Insight 之前将 NODE_EXTRA_CA_CERTS 设置为该文件。 完成此操作后,后端将信任受监控的 TLS,且 Entra 登录成功。 (注意: NODE_EXTRA_CA_CERTS 仅影响 Node 后端,不影响 Chromium/Electron 层。) **预期行为** (对您预期发现的问题的简要描述) - Node 后端应信任操作系统/企业证书存储 (或提供文档化的第一类设置),以便在 TLS 监控的企业环境中,Entra ID 身份验证能够一键启动 - 在失败时,错误应是可操作的,而不是通用 fetch 失败/"Azure 身份验证失败" - 例如,应显示底层 TLS/证书验证错误 (不可信的签发者,链中自签名证书),以便用户知道这是 CA 信任问题。 **屏幕截图** (粘贴或拖放屏幕截图或链接到录制) **其他上下文** (操作系统,Redis Insight 版本,Redis 数据库版本,Redis 模块版本,数据库类型,…
内容来源: redis/RedisInsight