Why is my upstream localhost? Getting 500 but no app error in Nginx. " no live upstreams while connecting to upstream"

Solution 1:

Try to replace https with http here:

proxy_pass https://localhost:3000;

and reload nginx. You said that curl localhost:3000 worked, and omitting a protocol for curl assumes http://. Most probably, your backend application does not support HTTPS (or not at this port, at least).