Как обрабатывать случайные порты герою - PullRequest
0 голосов
/ 28 августа 2018

Похоже, что когда я запускаю свой сервер heroku удаленно, он выбирает случайное значение для порта. Это прекрасно обрабатывается на сервере с использованием значения process.env.PORT, но как жестко запрограммированный клиент узнает, какой порт использовать для подключения к серверу heroku? Кажется, нет никакого способа принудительно установить значение порта heroku - похоже, это связано с возможностью перезапуска сервера и проблемами с контейнером, а также для предотвращения конфликтов портов. Это круто, но как я могу использовать сервер, порт которого время от времени меняется?

1 Ответ

0 голосов
/ 28 августа 2018

Хотя ваше приложение должно прослушивать случайный порт, с точки зрения постороннего, вы всегда будете открывать соединение через порт 80 или 443.

У Heroku есть маршрутизатор , через который каждое соединение идет первым.

Всякий раз, когда запрос переходит к appname.herokuapp.com или настроенному вами пользовательскому домену, он отправляется на этот маршрутизатор.
Маршрутизатор знает обо всех запущенных вами dyno (и порте, на котором работает приложение), и выберет один случайным образом для отправки соединения.

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