Cannot connect to Redis via Private Network
In my nodejs app I create a
BeeQueue
instance like:
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!25 Replies
Project ID:
N/A
N/A
please read this docs section - https://docs.railway.app/guides/private-networking#ioredis
you might not be directly using ioredis, but more than likely it's what beequeue is using under the hood
Hi @Brody π
I already tried that, still the same issue. Beequeue uses https://github.com/redis/node-redis.
does it use some very old version of that module? perhaps before it supported ipv6
If you check here https://github.com/redis/node-redis/blob/master/docs/client-configuration.md I also tried setting socket.family to 6
okay fair, are you getting these errors locally on when on Railway
The only difference is that when I try something like
i now get the same error but it tries to connect to localhost
that just means that's incorrect syntax and the client is falling back to it's default values for the host
?
on Railway after building while deploying
is redis in the same project?
yeah
are you pro?
yup
can you try switching to the v2 runtime in the service settings
where is that?
in the service settings
i don't see such a setting π€
Yeah, i know where the service settings are, I just don't find something to switch to v2 π
oh my bad, sorry for assuming
no worries π
let me get back to you when I'm at my computer, might end up needing a minimal reproducible example
Alright, thanks!
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