【问题标题】:Access azure redis cache behind a proxy在代理后面访问 azure redis 缓存
【发布时间】:2018-12-19 09:05:16
【问题描述】:

在开发环境中,开发者需要访问redis缓存。 通过端口 6380 上的 socks 协议连接到 azure redis 缓存。

问题是由于外部访问互联网是通过我们公司的代理完成的。

如果是 HTTP(S) 访问,例如在 nodejs 中,我们使用 npm 包 'dotenv' 我们指定 'HTTP(S)' 代理设置(例如包 ms-rest azure)。

但是在这里我们没有找到任何解决socks访问代理使用的解决方案。

在这种情况下,我们使用 npm 包“redis”。

谁有代理使用的解决方案??

提前感谢马修

【问题讨论】:

    标签: node.js azure redis


    【解决方案1】:

    从代理后面的客户端直接连接到 Azure Redis 缓存似乎是不可能的。原因如下:

    1. Redis 仅支持通过其协议如telnet 的 tcp 连接,如果您的代理不支持 socks,则不可行。
    2. 我搜索了两个推荐的NodeJS redis客户端ioredisnode_redis后,都不支持通过代理建立连接。

    因此,对于您当前的情况,这里有两种可能的解决方案。

    1. 如果您的代理支持socks,您可以尝试通过在现有redis客户端的基础上更改一些代码来支持socks代理来创建一个新的redis客户端。
    2. 推荐用于当前情况。我建议你可以在 Azure 上创建一个 HTTP 服务来处理来自你代理后面的客户端的请求,它可以将 HTTP 请求的参数传递给 Azure Redis 缓存并将结果包装到 HTTP 响应中。它是基于 HTTP 的 Redis,例如 solutious/bone

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 2014-09-05
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 2012-05-04
      • 1970-01-01
      • 2016-09-10
      相关资源
      最近更新 更多