Перенаправление портов 80, 443 на Ubuntu Server с помощью iptables

View more categories:

1- Проблема с Ubuntu

При входе в систему Linux (включая  Ubuntu) с user, который не является " root", вы не можете запустить приложение с портом (port) <1024. Только " root" имеет привилегию ( privilege) для запуска таких приложений.

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

2- Конфигурация 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
Проверить:

View more categories: