嘿,伙计们发生了什么,我的Redis设置上的依赖注入有问题。我们有一个用于开发的室外中央Redis服务器,因此在我的主文件( app.js )中,我正在尝试将其连接到服务器。现在,这是受密码保护的,无法找到isue。
我正在使用此模块redis
let redis = require('redis');
let redisSettings = {
host: settings.redis.ip,
port: settings.redis.port,
parser: settings.redis.parser,
password: settings.redis.password
};
let redisClient = redis.createClient(redisSettings);
redisClient.auth(settings.redis.password, function(){
});
let routes = require('./routes')( redisClient);
module.exports = {
redis: {
ip: 'domainname.example',
port: '6379',
parser: 'javascript',
password: 'our_very_secure_password'
}
}
events.js:182 throw er; //未处理的'错误'事件^
ReplyError:DENIED Redis正在受保护模式下运行,因为 保护模式已启用,未指定绑定地址,否 请求客户端使用身份验证密码。在这种模式下 只能从环回接口接受连接。如果你 想要从外部计算机连接到Redis,你可以采用其中一个 以下解决方案:1)只需禁用保护模式发送即可 命令'CONFIG SET protected- mode no'来自loopback接口 通过从服务器运行的同一主机连接到Redis, 但是,确保Redis不能从互联网上公开访问 你这样做了使用CONFIG REWRITE使此更改成为永久更改。 2) 或者,您可以通过编辑来禁用保护模式 Redis配置文件,并将protected mode选项设置为 '不',然后重新启动服务器。 3)如果你启动了服务器 手动只是为了测试,用'--protected-mode no'重新启动它 选项。 4)设置绑定地址或验证密码。注意: 您只需要为服务器执行上述操作之一 开始接受来自外部的联系。在parseError (/Users/joey.dossche/Documents/DEV/koha_goan/node_modules/redis- 解析器/ lib / parser.js:193:12)at parseType (/Users/joey.dossche/Documents/DEV/koha_goan/node_modules/redis- 解析器/ LIB / parser.js:303:14)
[nodemon] app崩溃 - 在开始之前等待文件更改...
答案 0 :(得分:1)
我在这个时候自己找到了问题的答案。它非常简单,没有答案......它不可能保持redis密码的保护,并且可以在不绑定IP地址的情况下使用它。因此,现在我们关闭安全性,如果我们进入生产阶段,将重新连接安全设置。