I have an Organization with 4 apps and a database. One of them is a NodeJS server that needs to make http requests to a rails API. I cannot seem to get app-name.internal to resolve properly.
If I pop in using fly ssh console, then open up a Node REPL, await dns.promises.resolveTxt("_apps.internal") gives me the correct list of apps. However, resolving app-name.internal:8080 give me a ENOTFOUND.
Ive tried quite a few different things and read through Flys Internal DNS Docs so i feel like im missing something obvious…
dns.promises.resolve does not automatically strip ports. DNS does not handle ports, so when you specify 8080, it breaks. But if you use the something.internal:8080 from within you app via fetch or some such, it will work fine.
Hmm. looks like delayed feedback, i redeployed everything again with Rails listening to both v4 & v6 like so CMD ["bin/rails", "server", "-b", "[::]", "-p", "8080"]. and was able to make a connection.