无法使用SSL连接到Azure Redis缓存

时间:2015-07-04 11:08:55

标签: azure caching ssl redis stackexchange.redis

在Owin应用程序启动时连接到Azure Redis缓存......

var options = ConfigurationOptions.Parse(cacheConnectionString);
var kernel = new StandardKernel();
kernel.Bind<ConnectionMultiplexer>().ToMethod(context =>
{
    return ConnectionMultiplexer.Connect(options);
}).InSingletonScope();

对于在我的本地计算机上运行的Redis,或者关闭了已关闭SSL的Azure Redis,它可以正常工作。但是,只要我从:

更改连接字符串

xyz.redis.cache.windows.net,ssl=false,password=abcdefghxyz=

xyz.redis.cache.windows.net,ssl=true,password=abcdefghxyz=

它抛出:

  

无法连接到redis服务器;要创建断开连接的多路复用器,请禁用AbortOnConnectFail。 PING上的UnableToResolvePhysicalConnection

我正在使用NuGet的StackExchange.Redis版本1.0.316.0。我试过了......

  • 在Azure门户中创建不同的缓存。 Hasn没有与任何人一起使用SSL :(
  • 不使用Ninject进行连接
  • 手动创建ConfigurationOptions对象而不是解析字符串

我现在所有的想法都可能出现问题。希望这是我错过的一些微不足道的事情,但是我们无法看到它!

修改
我运行了ConnectToAzure()单元测试,传入了我的缓存名称和密码,然后通过了。所以我几乎肯定在这里做些傻事。

编辑2
它也适用于控制台应用程序,没有任何问题。

1 个答案:

答案 0 :(得分:2)

我修好了,非常奇怪的情况,但我会回答,以防万一其他人一直坐得像我一样困惑。

该项目以前是Azure云服务中的Web角色,该服务启用了角色内缓存。我们将其移至独立的Azure Web App,但从未解决过删除所有不必要的引用。

删除Microsoft.WindowsAzure.ServiceRuntimeMicrosoft.WindowsAzure.Diagnostics奇迹般地让它发挥作用。