#Cannot connect to Redis via Private Network

32 messages · Page 1 of 1 (latest)

balmy hollow
#

In my nodejs app I create a BeeQueue instance like:

const eventProcessingQueue = new BeeQueue(`queue_name`, {
  redis: { url: appSettings.redisConnectionString },
});

appSettings.redisConnectionString is set - correctly - to the internal Redis URL, but when trying to deploy (after successfully building),
I get Redis connection to redis.railway.internal:6379 failed - getaddrinfo ENOTFOUND redis.railway.internal.

Switching to the public URL, works fine.

Tried appending family=6 (and 0 which is the default) at the connection string.
Also tried creating a redis client and seting the socket family to 6 but then it fails for another reason (trying to connect to localhost).

I also have setup a sleep when starting.
The service I'm connecting from and the redis instance, both are in the same project.

Any ideas?

Thank you!

languid vortexBOT
#

Project ID: N/A

balmy hollow
#

N/A

alpine ice
#

you might not be directly using ioredis, but more than likely it's what beequeue is using under the hood

balmy hollow
alpine ice
#

does it use some very old version of that module? perhaps before it supported ipv6

balmy hollow
alpine ice
#

okay fair, are you getting these errors locally on when on Railway

balmy hollow
#

The only difference is that when I try something like

const redisClient = createClient({
      url: appSettings.redisConnectionString,
      socket: {
        family: 6,
      },
    });

i now get the same error but it tries to connect to localhost

alpine ice
#

that just means that's incorrect syntax and the client is falling back to it's default values for the host

balmy hollow
#

on Railway after building while deploying

alpine ice
#

is redis in the same project?

balmy hollow
#

yeah

alpine ice
#

are you pro?

balmy hollow
#

yup

alpine ice
#

can you try switching to the v2 runtime in the service settings

balmy hollow
#

where is that?

alpine ice
#

in the service settings

balmy hollow
#

i don't see such a setting 🤔

balmy hollow
#

Yeah, i know where the service settings are, I just don't find something to switch to v2 🙂

alpine ice
#

oh my bad, sorry for assuming

balmy hollow
#

no worries 🙂

alpine ice
#

let me get back to you when I'm at my computer, might end up needing a minimal reproducible example

balmy hollow
#

Alright, thanks!

alpine ice
#

and I'll need a project id for that

#

and unless it's super obvious, a service and environment name so I know I'm looking at the right stuff

blissful terraceBOT
#

New reply sent from Help Station thread:

Did you resolve this? I am having the same issue and can't seem to find a solution other than using the public url

You're seeing this because this thread has been automatically linked to the Help Station thread.

blissful terraceBOT
#

New reply sent from Help Station thread:

I found this combination worked for me with redis 4.7.0
const redisClient = createClient({
url: Deno.env.get("REDIS_URL"), // https://docs.railway.com/reference/errors/enotfound-redis-railway-internal
socket: {
family: 6,
},
});

You're seeing this because this thread has been automatically linked to the Help Station thread.

ENOTFOUND redis.railway.internal | Railway Docs

Learn how to troubleshoot and fix the 'ENOTFOUND' redis.railway.internal error.

languid vortexBOT