Как перенаправить определенный диапазон портов на порт 80 в node.js

Когда я использую приведенную ниже команду, я могу перенаправить с порта 3000 на порт 80, но мне нужно перенаправить на порт 80, когда запрос для любого другого порта.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000 
1
задан 4 March 2016 в 14:53

1 ответ

В Вашем примере Вы перенаправляете трафик, который прибывает в eth0 через tcp и прибывает в порт 80(!) для портирования 3000(!), таким образом, это наоборот! Для передачи всего трафика для портирования 3000 просто удалите - dport 80 (-средства опции dport 80: примените это правило только к пакетам, которые отправляются для портирования 80):

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDIRECT --to-port 3000

вышеупомянутая команда описывает правило, в котором говорится: весь трафик в eth0 (Ваша сетевая плата), который использует tcp протокол (-p (rotocol) tcp) должен быть перенаправлен (-j ПЕРЕНАПРАВЛЕНИЕ) для портирования 3000.

Для передачи всего трафика для портирования 80 (как Вы первоначально спрошенный, но наоборот, чем в Вашем примере, просто удаляют 3000 и вставляют 80 вместо этого.

0
ответ дан 5 March 2016 в 00:53
  • 1
    Если никто не слушает на 80, таким образом апач может начать работать и послушать на 80. сначала уничтожьте процесс Python, тогда запускают апачей. – Ravexina 4 June 2017 в 07:42

Другие вопросы по тегам:

Похожие вопросы: