В настоящее время я работаю над веб-приложением, которое использует node.js и socket.io. Socket.io необходимо запустить небольшой TCP-порт на порту 843 для доставки crossdomain.xml для подключений сокетов FlashPlayers. Поскольку порт 843 <порт 1024, процесс узла должен запускаться как корневой процесс, чего я хочу избежать. Есть ли возможность перенаправить этот порт на другой порт. Например: соединение поступает на порт 843 и обрабатывается списком процессов на порт 3000?
Мое первое предположение заключалось в том, чтобы использовать iptables, но я совершенно не знаком с ним, поэтому я попросил здесь дополнительную информацию и подсказку, смотрю ли я в правильном направлении. Если это подходит для моей проблемы, есть ли проблемы с производительностью при использовании iptables?
Конечно, вы могли бы использовать iptables
сделать это. Вот пример однострочного:
# iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 843 -j REDIRECT --to-ports 3000
Никакого практического снижения производительности не должно быть, так как afaik, что перенаправление полностью обрабатывается в ядре.