Невозможно подключиться к Azure Redis после изменения минимальной версии TLS на 1.2 - PullRequest
1 голос
/ 07 февраля 2020

В моем. NET Framework 4.6.1 приложении я использую StackExchange.Redis.StrongName 1.2.6 для подключения к Azure Redis. Это код

    public RedisContext(string connectionString = null)
    {
        if (connectionString == null) return;

        Lazy<ConfigurationOptions> lazyConfiguration
            = new Lazy<ConfigurationOptions>(() => ConfigurationOptions.Parse(connectionString));

        var configuration = lazyConfiguration.Value;
        configuration.SslProtocols = SslProtocols.Tls12;//just added
        configuration.AbortOnConnectFail = false;

        Lazy<ConnectionMultiplexer> lazyConnection =
            new Lazy<ConnectionMultiplexer>(() => ConnectionMultiplexer.Connect(configuration));
        _connectionMultiplexer = lazyConnection.Value;

        LogProvider.IsDisabled = true;

        var connectionEndpoints = _connectionMultiplexer.GetEndPoints();
        _lockFactory = new RedisLockFactory(connectionEndpoints.Select(endpoint => new RedisLockEndPoint
        {
            EndPoint = endpoint,
            Password = configuration.Password,
            Ssl = configuration.Ssl
        }));
    }

В Azure я изменил ресурс Redis для использования TLS1.2, и в коде я добавил эту строку:

configuration.SslProtocols = SslProtocols. Tls12; // только что добавил

И теперь уже ничего не работает. Это ошибка, которую я получаю в Application Insights:

Ошибка подключения к Redis. Не удалось подключиться к серверу (-ам) redis; ConnectTimeout

Я также пытался добавить ", ssl = True, sslprotocols = tls12" в строку подключения Redis, но с тем же результатом.

1 Ответ

0 голосов
/ 07 февраля 2020

Попробуйте ссылаться на StackExchange.Redis вместо StackExchange.Redis.StrongName. Я сделал это в нескольких моих проектах, и теперь это работает. Однако некоторые сторонние разработчики все еще используют StrongName, а не обычный Redis. StackExchange.Redis.StrongName больше не поддерживается. https://github.com/Azure/aspnet-redis-providers/issues/107. Я предполагаю, что вы пытаетесь подключиться к Azure Redis по отношению к ним, останавливая поддержку TLS 1.0 и 1.1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...