Запустить node js приложение без порта - PullRequest
1 голос
/ 06 января 2020

Я хочу запустить свое приложение без назначения какого-либо порта на моем текущем IP-адресе на порту 80. Как это будет возможно.

1 Ответ

1 голос
/ 06 января 2020

Если ваше приложение node.js является веб-сервером, вы не можете удалить порт. Нет порта, нет веб-сервера. Попытка сделать веб-сервер без порта - это все равно, что попытаться сделать локомотив без железной дороги.

Однако вы можете использовать порт по умолчанию . Когда пользователи дают браузерам URL-адреса без портов, они автоматически применяют порт по умолчанию. Для URL-адресов, таких как http://example.com/ или http://10.11.12.13/, по умолчанию используется порт 80. Для https://example.com это 443, и вам необходимо использовать https класс сервера.

Итак, вы можете заставить свой сервер прослушивать порт 80.

В процессе разработки вы столкнетесь с проблемой при таком подходе. В операционных системах OSX, Linux и других UNIX только привилегированный пользователь (root) может запускать серверы, использующие номера портов менее 1024. Типичный цикл разработки редактирования / запуска / тестирования представляет собой сложную задачу. и дыра в безопасности, когда вам нужны привилегии для запуска. Вот почему в примерах node.js используется порт 3000.

В производственных условиях многие люди используют nginx в качестве обратного прокси-сервера для передачи запросов http с порта 80 или запросов https с порта 443 на ваш node.js сервер. на порту 3000. Вы можете прочитать о том, как это сделать; это далеко выходит за рамки ответа о переполнении стека

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