Can I have node.js listen on a non-standard port when hosted on Heroku?
I'm building a node.js app and am experimenting with hosting it on Heroku. It seems that to make my app available to the world, I need to listen like this:
app.listen(process.env.PORT || 3000);
I'd like to have my app listen on Port 8080. Is this possible in Heroku? Can I change the value of process.env.port? It seems to be some kind of reverse proxy that I might not have control over.
No. Heroku tells your Application which port your application is required to listen on. The required interface between Heroku and your application is the
PORT environment variable: your application must look for and use it. Your application is not able to listen on any other port except the port that Heroku tells your application it must listen on. Heroku tries to open a TCP connection to your application on that port and, if sixty seconds elapse since Heroku started your application and your application isn't listening on that port, Heroku figures your application is broken and shuts it down.