¿Puedo hacer que node.js escuche en un puerto no estándar cuando esté alojado en Heroku?

Estoy creando una aplicación node.js y estoy experimentando con alojarla en Heroku. Parece que para hacer que mi aplicación esté disponible para el mundo, necesito escuchar así:

app.listen(process.env.PORT || 3000);

Me gustaría que mi aplicación escuche en el puerto 8080. ¿Es esto posible en Heroku? ¿Puedo cambiar el valor de process.env.port? Parece ser una especie de proxy inverso sobre el que podría no tener control.

No. Heroku le dice a su aplicación en qué puerto se requiere su aplicación para escuchar. La interfaz requerida entre Heroku y su aplicación es la variable de entorno PORT : su aplicación debe buscarla y usarla. Su aplicación no puede escuchar en ningún otro puerto, excepto el puerto que Heroku le dice a su aplicación que debe escuchar. Heroku intenta abrir una conexión TCP a su aplicación en ese puerto y, si transcurrieron sesenta segundos desde que Heroku inició su aplicación y su aplicación no escucha en ese puerto, Heroku cree que su aplicación está dañada y la apaga.