I have observed that it’s not possible for a service to be able to reach itself via its own internal host-port address, eg. http://api-l4dg:3001. As an example, from the shell of api-l4dg:
render@srv-c0abfrlua9vt7i8f5v2g-b6bfd4d64-s8cnw:~/project/src$ curl --max-time 1 http://api-l4dg:3001/graphql
curl: (28) Connection timed out after 1001 milliseconds
This seems like a bug to me. Is this behavior intentional?
Try using port 10000 (the default port for Render services). We recently discovered a bug where sometimes the service address is reported incorrectly in the dashboard. We’ll get this fixed soon.