【问题标题】:Unable to connect to Azure Redis Cache with SSL无法使用 SSL 连接到 Azure Redis 缓存
【发布时间】:2015-09-22 01:38:23
【问题描述】:

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

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 门户中创建不同的缓存。没有使用过 SSL :(
  • 不使用 Ninject 进行连接
  • 手动创建 ConfigurationOptions 对象而不是解析字符串

不过,我完全不知道现在可能出了什么问题。希望这是我错过的微不足道的东西,但就是看不到!

编辑
我运行了ConnectToAzure() 单元测试,传入了我的缓存名称和密码,它通过了。所以我几乎可以肯定在这里做了一些愚蠢的事情。

编辑 2
它也可以在控制台应用程序中正常工作。

【问题讨论】:

    标签: azure caching ssl redis stackexchange.redis


    【解决方案1】:

    我解决了它,超级奇怪的情况,但我会回答以防万一其他人和我一样困惑。

    该项目以前是 Azure 云服务中的一个 Web 角色,它启用了角色内缓存。我们将它移到了一个独立的 Azure Web 应用程序中,但始终没有解决所有剩余的不必要的引用。

    删除 Microsoft.WindowsAzure.ServiceRuntimeMicrosoft.WindowsAzure.Diagnostics 奇迹般地让它工作了。

    【讨论】:

    • 我在我的 Web 代码中找不到此参考 Microsoft.WindowsAzure.ServiceRuntime。如果 ssl 设置为 False,我的 Web 应用程序运行良好。但是当 ssl=true 时失败,我该如何解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多