I can confirm this, I had the same issue, it started happening recently, specifically when connecting to Heroku's Redis addons. It is most likely caused by some extra security changes done on those outwardly exposed redis stores.
I found a workaround for it for now, was thinking about putting a pull request in, it involves simply supporting a "url" field for the redis database configs in config.json
If a dev sees this, please let me know if you would like me to do it or if you are working on your own solution.
Meanwhile, the fix:
in nodebb/src/database/redis.js (https://github.com/NodeBB/NodeBB/blob/master/src/database/redis.js) replace the following:
if (redis_socket_or_host && redis_socket_or_host.indexOf('/') >= 0) {
cxn = redis.createClient(nconf.get('redis:host'), options);
} else {
cxn = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host'), options);
}
with
cxn = redis.createClient(process.env.REDIS_URL, options);
where process.env.REDIS_URL should have your full redis connection url ("redis://...") as set by heroku
also since the redis url string includes the password, you may want to remove the following bit in the same code block
if (nconf.get('redis:password')) {
cxn.auth(nconf.get('redis:password'));
}
Finally, a more general solution would be nice, again if anyone could mention a dev here please let me know if the config change solution is desirable.
Cheers!