You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用用户名密码通过Microsoft.Web.RedisSessionStateProvider连接远程Redis

问题原因

  • 初始配置错误:仅配置了accessKey(密码参数)未配置用户名参数,Redis 6.0及以上版本默认开启用户名+密码双身份验证,缺少用户名会导致验证不通过,抛出NOAUTH错误。
  • 修改后配置错误:connectionString中多余使用单引号包裹密码,未明确指定端口,部分场景下组件会错误将非ssl连接识别为rediss协议,导致连接失败。

正确配置方案

方案1:使用分离参数配置(推荐,可读性更高)

Microsoft.Web.RedisSessionStateProvider 3.0.0及以上版本新增了username参数,补充该参数即可完成双因子验证,配置示例如下:

<add name="RedisSessionStateStore" 
     applicationName="{jam2_}" 
     type="Microsoft.Web.Redis.RedisSessionStateProvider" 
     host="替换为你的Redis服务IP" 
     port="6379" 
     username="替换为你的Redis用户名"
     accessKey="替换为你的Redis密码" 
     ssl="false" />

如果未单独创建Redis用户,可先尝试将username填为默认值default

方案2:使用connectionString统一配置

注意不要用引号包裹密码,明确指定端口和ssl参数,密码含特殊字符需先做URL编码:

<add name="RedisSessionStateStore" 
     applicationName="{jam2_}" 
     type="Microsoft.Web.Redis.RedisSessionStateProvider" 
     connectionString="redis://替换为你的用户名:替换为你的密码@替换为你的Redis服务IP:6379,ssl=false" />

额外排查项

  • 先升级Microsoft.Web.RedisSessionStateProvider NuGet包到3.0.0以上版本,低版本不支持用户名参数
  • 确认应用服务器到Redis服务6379端口的网络连通性,无安全组、防火墙拦截规则
  • 若密码包含@/://等特殊字符,需先对密码做URL编码后再填入配置

内容的提问来源于stack exchange,提问作者Ahmed Elbatrawy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:27:03