Необходимо ли открывать все используемые порты при использовании одного узла.JS-приложение для маршрутизации с порта 80 на приложения на разных?

#node.js #redirect #express #ubuntu-12.04 #portforwarding

#node.js #перенаправление #экспресс #ubuntu-12.04 #перенаправление портов

Вопрос:

Я работаю с 64-разрядным сервером Ubuntu 12.04 LTS, там я использовал следующие команды для отправки всех http-запросов с порта 80 на порт 8080

Команды:

 cat /proc/sys/net/ipv4/ip_forward #returns 1
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
  

Оттуда я хотел перенаправить запросы на основе (суб) домена на некоторые другие порты (т.Е. 9000, 3000, 9615) с помощью http-master. У меня возникли некоторые проблемы с этим, и я сделал это правильно один раз на VPS на Amazon aws, где эти порты были открыты.

Итак, я спрашиваю, нужно ли открывать каждый порт и как я могу это сделать в командной строке?

Ответ №1:

После некоторых дальнейших исследований и экспериментов я пришел к выводу, что необходимо открывать только порт, который мы используем в качестве точек входа. Если мы затем перенаправим его с помощью прокси или даже с настройкой NAT на другой порт, последний будет использоваться только для «прослушивания».