使用 ElastiCache redis 服务器和密码解析服务器
Parse server with ElastiCache redis server and password
我已经在 Elastic Beanstalk 上设置了一个可用的 Parse 服务器。我已经添加了一个 AWS ElasticCache Redis 服务器用于缓存,但是在使用密码时我无法使连接正常工作,只是没有密码。在我创建新 Parse 服务器的 Parse 服务器 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);
我的 URL 看起来像 REDIS_URL=clustercfg.xxxx.xxxx.use1.cache.amazonaws.com
redis://
和rediss://
我都试过了。我知道 RedisCacheAdapter 只有一个选项 - URL。我以为我可以直接在 link 中添加密码,但适配器似乎没有解析成密码和 URL,而是只需要 URL。
我的问题是我在这里做错了什么还是有其他使用密码的方法?如果无法使用密码,我想知道原因是什么(是因为 ElastiCache 对 Internet 隐藏并且只能被 EC2 上的服务器看到)?
更新:
根据@MarkB 的评论,我测试了 ElastiCache 的一些不同设置,并将我上面的代码修改为也使用密码。
var redisOptions = {url: redisurl, password: process.env.REDIS_PASS};
- 运行 具有集群模式、静态加密、传输中加密和 Redis 密码的 ElastiCache 失败。
- 运行 使用静态加密、传输中加密和 Redis 密码的 ElastiCache 失败。
- 运行 ElastiCache 静态加密,传输加密,无密码失败。
- 运行 ElastiCache 没有 静态加密,传输中加密且无密码成功。
在我看来,从 Parse 服务器连接时在静态和传输中使用加密会导致一个问题,我不确定如何解决。正如@MarkB 所提到的,Parse server (EC2) and ElastiCache 之间的连接仅限于 VPC,所以我可以接受没有安全选项,但仍然会很好。
我已经在 Elastic Beanstalk 上设置了一个可用的 Parse 服务器。我已经添加了一个 AWS ElasticCache Redis 服务器用于缓存,但是在使用密码时我无法使连接正常工作,只是没有密码。在我创建新 Parse 服务器的 Parse 服务器 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);
我的 URL 看起来像 REDIS_URL=clustercfg.xxxx.xxxx.use1.cache.amazonaws.com
redis://
和rediss://
我都试过了。我知道 RedisCacheAdapter 只有一个选项 - URL。我以为我可以直接在 link 中添加密码,但适配器似乎没有解析成密码和 URL,而是只需要 URL。
我的问题是我在这里做错了什么还是有其他使用密码的方法?如果无法使用密码,我想知道原因是什么(是因为 ElastiCache 对 Internet 隐藏并且只能被 EC2 上的服务器看到)?
更新: 根据@MarkB 的评论,我测试了 ElastiCache 的一些不同设置,并将我上面的代码修改为也使用密码。
var redisOptions = {url: redisurl, password: process.env.REDIS_PASS};
- 运行 具有集群模式、静态加密、传输中加密和 Redis 密码的 ElastiCache 失败。
- 运行 使用静态加密、传输中加密和 Redis 密码的 ElastiCache 失败。
- 运行 ElastiCache 静态加密,传输加密,无密码失败。
- 运行 ElastiCache 没有 静态加密,传输中加密且无密码成功。
在我看来,从 Parse 服务器连接时在静态和传输中使用加密会导致一个问题,我不确定如何解决。正如@MarkB 所提到的,Parse server (EC2) and ElastiCache 之间的连接仅限于 VPC,所以我可以接受没有安全选项,但仍然会很好。