【问题标题】:Connect Azure Web App to Azure Cache for Redis将 Azure Web 应用连接到 Azure Redis 缓存
【发布时间】:2019-08-08 00:00:15
【问题描述】:

如何将 Azure Redis 缓存连接到使用 celery 执行一些异步任务的 Flask WebApp?每当我尝试通过 Webjob 连接时,它会说无法连接到 redis。

我也尝试从这篇帖子How to configure celery-redis in django project on microsoft azure? 输入这个celery inspect ping -b redis://{password}@{redis_service_name}.redis.cache.windows.net:6379/0,但我会得到Connection Failure: If this issue persists, ensure your computer's firewall and proxy settings allow outbound TCP traffic to port 10225. Using the firewall feature on your cache may also block connections from the console if your IP address has not been whitelisted

【问题讨论】:

  • 会不会只是你使用了错误的端口? Redis 通常在 6379 上侦听。还有一个建议 - 不要使用与现有模块/包 (app.celery) 冲突的名称,您迟早会遇到问题。 project_name.app_name 更有意义(更改 project_name 和 app_name 以匹配您当前的工作)。
  • 两个端口都试过了,没用
  • 我对 Azure 不熟悉,但我认为它与 AWS SecurityGroups 类似——您需要允许到 Redis 服务器的流量...
  • 端口号 10225 来自哪里??

标签: python azure flask redis celery


【解决方案1】:

如果防火墙中没有特殊规则,则不应出现此错误。一般来说,公司网络中有特殊的防火墙设置,因此可能会出现访问问题。在这种情况下,您需要允许防火墙将 10225 端口出站。 您可以使用 Azure 上的 Redis 控制台在不同的网络上对其进行测试,以查看它是否与防火墙相关。

使用带有防火墙规则的公司网络

其他没有防火墙规则的网络

【讨论】:

  • 是的,我断开了笔记本电脑上的 VPN 连接,它可以正常工作。它可能是它背后的代理/防火墙。
【解决方案2】:

尝试将您的网络暂时切换到工作状态。这是一个特定于网络的问题,用于连接 Redis 服务器的端口被阻止,需要打开。

【讨论】:

    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多