Могу ли я использовать node.js для прослушивания нестандартного порта при размещении на Heroku? - PullRequest
5 голосов
/ 18 сентября 2011

Я создаю приложение node.js и экспериментирую с размещением его на Heroku. Похоже, что для того, чтобы сделать мое приложение доступным для всего мира, мне нужно слушать так:

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

Я бы хотел, чтобы мое приложение прослушивало порт 8080. Возможно ли это в Heroku? Могу ли я изменить значение process.env.port? Кажется, это какой-то обратный прокси-сервер, который я не могу контролировать.

1 Ответ

22 голосов
/ 18 сентября 2011

Нет. Heroku сообщает вашему приложению, на каком порту ваше приложение должно прослушиваться. Необходимый интерфейс между Heroku и вашим приложением - переменная среды PORT: ваше приложение должно искать и использовать ее. Ваше приложение не может прослушивать любые другие порты, кроме порта, который Heroku сообщает вашему приложению, которое оно должно прослушивать. Heroku пытается открыть TCP-соединение с вашим приложением через этот порт, и, если прошло шестьдесят секунд с того момента, как Heroku запустил ваше приложение, а ваше приложение не прослушивает этот порт, Heroku обнаруживает, что ваше приложение сломано и закрывает его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...