Cодержание
Перенаправить порт 80, 443 в Ubuntu с помощью iptables
View more Tutorials:


При входе в систему Linux (включая Ubuntu) с user, который не является "root", вы не можете запустить приложение с портом (port) <1024. Только "root" имеет привилегию ( privilege) для запуска таких приложений.
Так что, если вы вошли в систему с другим user "root", то вы не можете запустить веб-приложенин с портом 80 или 443. Ваш адрес веб-сайта не является дружественным, так как это будет большее количество портов (port number) на пути. Например:
Так что, если вы вошли в систему с другим user "root", то вы не можете запустить веб-приложенин с портом 80 или 443. Ваш адрес веб-сайта не является дружественным, так как это будет большее количество портов (port number) на пути. Например:
- http://yoursite.com:8080 (Недружественный адрес)
- http://yoursite.com (Дружественный адрес).
В этом случае, вы должны запустить веб-приложение на порту (port)> = 1024, например 8080. Пользователь имеет доступ к вашему веб-сайту через порт 80, и он будет перенаправлен на порт 8080. Такое перенаправление осуществляется операционной систеой, как на рисунке ниже:

Для перенаправления необходимо конфигурировать IPTables.
Прежде всего, необходимо проверить работающие приложения и порт (port), который оно использует.
netstat -ntl

Tomcat работает на порте 8080:

Затем выполните следующую команду для перенаправления (redirect) порта 80 на порт 8080.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

Выполните следующую команду, чтобы убедиться, что перенаправление работает исправно.
sudo iptables -t nat -L


Далее необходимо сохранить информацию о конфигурации выше, чтобы убедиться, что он имеет эффект после перезагрузки операционной системы.
sudo sh -c "iptables-save > /etc/iptables.rules"
sudo apt-get install iptables-persistent








Примечание: Если вы хотите удалить конфигурацию перенаправления 80 до 8080, которое сделали до этого, выполните следующую команду:sudo iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Проверить: