我已经在弹性豆柄上建立了一个工作的解析服务器。我添加了一个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。
我的问题是,我是不是做错了什么,还是有其他方式使用密码?如果不能使用密码,我想知道原因是什么(是不是因为ElastiCache隐藏在互联网上,只有服务器在EC2上看到)?
更新:基于@MarkB的注释,我测试了几个不同的ElastiCache设置,修改后的代码也使用了密码。
var redisOptions = {url: redisurl, password: process.env.REDIS_PASS}; 在我看来,在从Parse服务器连接时使用rest加密和传输加密会导致一个问题,我不知道如何修复。正如@MarkB所提到的,解析服务器(EC2)和ElastiCache之间的连接仅限于VPC,所以我可以不使用安全选项,但这还是很好的。
https://stackoverflow.com/questions/52410184
复制相似问题