Подтвердить что ты не робот

Node.js - Как я могу удалить порт из URL-адреса?

Я использую node.js и socket.io.

Мое приложение работает на порте 3000. Приложение начинается с URL: mydomain.com:3000/

Я хочу запустить приложение из mydomain.com. Я хочу удалить порт из URL.

Где и как я могу установить этот параметр?

4b9b3361

Ответ 1

Найдите server.listen и измените порт с 3000 на 80. Не забывайте, что вам нужно запустить программу с возможностью CAP_NET_BIND_SERVICE (подробнее см. capabilities(7)), чтобы привязывать к портам менее 1024 в системах Linux. root привилегия будет содержать эту и другие привилегии.

Ответ 2

Если вы хотите запустить его "без порта", как вы описываете, вы фактически будете запускать его на порту 80. Вы не можете сделать это без прав root.

Итак, вместо

node server.js

Вам нужно

sudo node server.js

Предполагается, что у вас есть разрешения sudo на компьютере, на котором вы пытаетесь запустить его. В противном случае вы столкнетесь с проблемами EACCESS. Это то, что пытается сказать вам sarnold.

Ответ 3

Вот как я это сделал, потому что я использую apache, а я не могу использовать порт 80, потому что он его резервирует. Итак, я настраиваю прокси-проход. Я устанавливаю папку my/src для игнорирования.

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/www.mysite.com"
    ServerName local.www.mysite.com
    ServerAlias local.www.mysite.com
    ProxyPass /src !
    ProxyPass / http://local.www.mysite.com:3000/
    ProxyPassReverse / http://local.www.mysite.com:3000/
</VirtualHost>

Ответ 4

Сначала вы, вероятно, захотите запустить приложение с вашего локального хоста, "127.0.0.1". Вы можете удалить порт, просто опуская его в настройке node.js. По умолчанию веб-браузеры ищут серверы на порту 80. Если вы хотите, чтобы ваш сервер работал на порте 3000 по какой-то причине, он должен быть включен в URL-адрес.