Azure应用服务无法连接到Azure Redis

时间:2019-07-11 09:51:50

标签: java spring azure redis azure-web-app-service

我有一个Java Spring应用程序,我想在将连接到Redis for Azure的Azure应用服务上进行部署。我已经在不同的订阅上使用相同的应用程序完成了此操作。我已经在Azure上创建了AppService和Redis连接。我从Redis获得了连接字符串,并将其添加到Java应用程序中,并且还创建了一个如下的bean:

    @Bean
public JedisConnectionFactory connectionFactory() {
    JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
    jedisConnectionFactory.setHostName(this.jedisHost);
    if (this.jedisPassword != null && !this.jedisPassword.isEmpty()) {
        jedisConnectionFactory.setPassword(this.jedisPassword);
    }
    jedisConnectionFactory.setPort(jedisPort);
    jedisConnectionFactory.getPoolConfig().setMaxIdle(30);
    jedisConnectionFactory.getPoolConfig().setMinIdle(10);
   //        jedisConnectionFactory.setUsePool(true);
    return jedisConnectionFactory;
}

当我在本地环境中运行应用程序时,一切正常。应用程序启动,并且也可以连接到Redis。 但是,当我将其部署到蔚蓝的云上时,我得到:

 Caused by: java.net.SocketTimeoutException: connect timed out
 JedisConnectionException: Failed connecting to host valuegoredis.redis.cache.windows.net:6380
 JedisConnectionException: Could not get a resource from the pool
 Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer'

在运行区域设置时,我也遇到相同的问题,但是我添加了防火墙规则以包括我的IP。 我还添加了通过运行nslookup .azurewebsite.net找到的appService的IP,但是这里没有任何变化。

我迷失了方向,试图弄清楚如何使它起作用。

编辑:我已经尝试了jedis端口6379和6380 The the blue circled are the IP of my app service and the red are my local IP

我在6380和6379上同时允许SSL和SSL连接,但似乎没有任何作用

0 个答案:

没有答案