代码之家  ›  专栏  ›  技术社区  ›  Trond Kristiansen

使用ElastiCache redis server和密码解析服务器

  •  0
  • Trond Kristiansen  · 技术社区  · 6 年前

    我已经在ElasticBeanstalk上设置了一个工作解析服务器。我已经添加了一个AWS ElasticCache Redis服务器用于缓存,但我不能让连接工作时使用密码,只有没有。在我的解析服务器中index.js 我在其中创建与Redis连接的新解析服务器的文件,如下所示:

    // Redis cache server
    var RedisCacheAdapter = require('parse-server').RedisCacheAdapter;
    var redisurl='rediss://:'+process.env.REDIS_PASS+'@'+process.env.REDIS_URL
    var redisOptions = {url: redisurl};
    var redisCache = new RedisCacheAdapter(redisOptions);   
    

    我的网址看起来像 REDIS_URL=clustercfg.xxxx.xxxx.use1.cache.amazonaws.com

    我两个都试过了 redis:// rediss:// . 我知道RedisCacheAdapter只接受一个选项—URL。我想我可以直接在链接中添加密码,但它看起来不像适配器解析为密码和URL,而只是期望URL。

    更新:

    var redisOptions = {url: redisurl, password: process.env.REDIS_PASS}; 
    
    1. 在集群模式下运行ElastiCache、静态加密、传输加密和Redis密码失败。
    2. 运行ElastiCache时,加密处于静止状态,加密在传输中,Redis密码失败。
    3. 跑步弹力鞋 没有

    在我看来,从解析服务器连接时,在静态和传输中使用加密会导致一个问题,我不知道如何解决。正如@MarkB提到的 Parse server (EC2) and ElastiCache 是限制专有网络,所以我可以没有安全选项,但仍然会很好。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mark B    6 年前

    根据Parse服务器文档 here ,的 redisOptions 将直接传递到redis客户端 here password 现场。我相信这就是你需要指定密码的方式,而不是在URL中指定密码。

    还要注意,如果您使用的是Redis客户端版本<2.5您需要指定 auth_pass 而不是 密码

    正如您所提到的,由于ElastiCache被限制在VPC中,许多人认为在不添加密码验证的情况下就足够安全了,除非出于PCI或HIPAA合规性等原因需要这样做。