Настройка Nginx в качестве обратного прокси-сервера для Jenkins: подробное руководство

В этой статье блога я расскажу вам о нескольких способах настройки Nginx в качестве обратного прокси-сервера для Jenkins. Каждый метод будет включать пример кода, иллюстрирующий конфигурацию.

Метод 1: файл конфигурации Nginx
Первый метод включает в себя изменение файла конфигурации Nginx. Откройте файл конфигурации (обычно он находится в /etc/nginx/nginx.conf или /etc/nginx/sites-available/default) и добавьте следующие строки:

server {
    listen 80;
    server_name your_domain.com;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Метод 2: отдельный файл конфигурации Nginx
В качестве альтернативы вы можете создать отдельный файл конфигурации для Jenkins в каталоге Nginx, доступном для сайтов. Создайте файл с именем «jenkins» (или любым другим именем, которое вы предпочитаете) в каталоге /etc/nginx/sites-available/ и добавьте следующее содержимое:

server {
    listen 80;
    server_name your_domain.com;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

После создания файла создайте символическую ссылку для включения сайта:

sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/

Метод 3: конфигурация Docker Nginx
Если вы используете Jenkins и Nginx в контейнерах Docker, вы можете использовать конфигурацию Docker Compose для настройки обратного прокси-сервера. Вот пример:

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - 8080:8080
    networks:
      - nginx-proxy
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    networks:
      - nginx-proxy
networks:
  nginx-proxy:

В приведенном выше примере контейнер Jenkins доступен через порт 8080, а контейнер Nginx прослушивает порт 80. Файл конфигурации Nginx (nginx.conf) должен быть помещен в тот же каталог, что и файл Docker Compose.

Это всего лишь несколько способов настроить Nginx в качестве обратного прокси-сервера для Jenkins. В зависимости от ваших конкретных настроек и требований вам может потребоваться соответствующим образом настроить конфигурации.