Этого можно добиться с помощью следующих методов.
- Правило пересылки таблицы IP.
- Использование обратного прокси-сервера, такого как Nginx.
- Запуск Jenkins за балансировщиком нагрузки.
Метод 1: Запуск Jenkins On 80 с использованием правила пересылки таблицы IP
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
Теперь вы должны сохранить эти правила, чтобы они сохранялись даже после перезапуска IPtable или системы.
Для систем на базе Redhat выполните следующее.
sudo iptables-save > /etc/sysconfig/iptables
Для систем на основе Debian выполните следующую команду.
sudo sh -c "iptables-save > /etc/iptables.rules"
Теперь, если вы обращаетесь к Jenkins через порт 80, таблица IP автоматически перенаправит запросы на 8080.
Метод 2: Запуск JenkinsЗа обратным прокси-сервером Nginx
Шаг 1: Установите Nginx
sudo yum install nginx
Шаг 2: Откройте файл конфигурации Nginx.
sudo vi /etc/nginx/nginx.conf
Шаг 3: Найдите следующий фрагмент вФайл nginx.conf.
location / {
}
Шаг 4: Добавьте следующие строки между фигурными скобками.
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
Шаг 5: Выполните команду SELinux для обратного прокси-сервера Nginx.
sudo setsebool httpd_can_network_connect 1 -P
Шаг 6: Перезагрузите сервер Nginx.
sudo systemctl restart nginx
Теперь, если вы сможете получить доступ к Jenkins через порт 80.
Метод 3. Дженкинс за балансировщиком нагрузки
Добавление балансировщика нагрузки увеличит стоимостьустановка Дженкинса.Если вы находитесь в облаке, вы можете выбрать балансировщик нагрузки для конкретного облака, который будет отправлять весь трафик порта 80 на внутренний порт Jenkins 8080.