Настройка порта для node.сервер js на Heroku

Я запустил узел.JS-сервер со следующей строкой для установки порта:

app.set('port', process.env.PORT || 8080);

это означает, что он должен либо читать переменную PORT env, либо по умолчанию 8080, как это происходит при локальном запуске. Ни один из них не происходит на Heroku, и сервер всегда использует по умолчанию порт 80. Есть идеи, как это изменить?

heroku config
PORT: 8080

2 ответов


ты не можешь. Heroku устанавливает переменную порта, которую вы должны привязать, и слушает tcp/80.


Heroku обрабатывает веб-приложения так же, как и любое другое приложение, и не позволяет назначать порты прослушивания напрямую. Ваш веб-сервер будет назначен динамический порт Heroku, но для доступа к нему вам нужно будет использовать порт по умолчанию (80).

на Heroku приложения полностью автономны и не полагаются на внедрение веб-сервера во время выполнения в среду выполнения для создайте веб-службу. Каждый веб-процесс просто привязывается к порту, и прослушивает запросы заходим в порт. Порт для привязки к назначается Heroku в качестве переменной среды порта.

контракт с Heroku предназначен для процесса привязки к порту для обслуживания запросы. Маршрутизаторы Heroku затем отвечают за направление HTTP запросы к процессу на правом порту.

ссылки: Принципы Выполнения Heroku-Веб-Серверы