Skip to main content

Nginx - обратный прокси

Для настройки веб-сервера Nginx в качестве обратного прокси-сервера на SRV1-DT, выполните следующие шаги:


a) Установка и настройка Nginx на SRV1-DT

  1. Установите Nginx:

    sudo apt update
    sudo apt install nginx -y
    
  2. Создайте конфигурацию для домена www.au.team:

    Создайте файл конфигурации для домена:

    sudo nano /etc/nginx/sites-available/www.au.team
    

    Добавьте следующий конфигурационный блок:

    server {
        listen 80;
        server_name www.au.team;
    
        location / {
            proxy_pass http://<IP адрес SRV2-DT>:80;
            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;
        }
    }
    
    • Замените <IP адрес SRV2-DT> на IP-адрес сервера SRV2-DT, где работает контейнер web.
  3. Создайте конфигурацию для домена zabbix.au.team:

    Создайте файл конфигурации для домена:

    sudo nano /etc/nginx/sites-available/zabbix.au.team
    

    Добавьте следующий конфигурационный блок:

    server {
        listen 80;
        server_name zabbix.au.team;
    
        location / {
            proxy_pass http://<IP адрес SRV3-DT>/zabbix;
            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;
        }
    }
    
    • Замените <IP адрес SRV3-DT> на IP-адрес сервера SRV3-DT, где работает Zabbix.
  4. Активируйте конфигурации:

    Создайте символические ссылки для активации конфигураций:

    sudo ln -s /etc/nginx/sites-available/www.au.team /etc/nginx/sites-enabled/
    sudo ln -s /etc/nginx/sites-available/zabbix.au.team /etc/nginx/sites-enabled/
    
  5. Проверьте конфигурацию Nginx:

    sudo nginx -t
    

    Если конфигурация верна, вы увидите сообщение syntax is ok и test is successful.

  6. Перезапустите Nginx:

    sudo systemctl restart nginx
    

b) Настройка DNS или локальных записей хостов

  1. Настройка локальных записей хостов (если DNS не используется):

    На клиентских машинах добавьте записи в файл /etc/hosts:

    <IP адрес SRV1-DT> www.au.team zabbix.au.team
    

    Например:

    192.168.1.10 www.au.team zabbix.au.team
    
  2. Настройка DNS (если используется DNS-сервер):

    Настройте DNS-сервер так, чтобы:

    • www.au.team указывал на IP-адрес SRV1-DT.
    • zabbix.au.team указывал на IP-адрес SRV1-DT.

c) Настройка сетевого оборудования (если необходимо)

  1. Проверка маршрутизации:

    Убедитесь, что все устройства (SRV1-DT, SRV2-DT, SRV3-DT) доступны друг для друга по сети.

  2. Настройка фаервола:

    Разрешите входящие подключения на порт 80 (HTTP) на SRV1-DT:

    sudo ufw allow 80/tcp
    sudo ufw reload
    
  3. Проверка доступности:

    Убедитесь, что:

    • Контейнер web на SRV2-DT доступен по IP-адресу и порту 80.
    • Zabbix на SRV3-DT доступен по IP-адресу и пути /zabbix.

d) Проверка работы

  1. Проверка домена www.au.team:

    Откройте браузер и перейдите по адресу http://www.au.team. Вы должны увидеть страницу с текстом "WEB".

  2. Проверка домена zabbix.au.team:

    Перейдите по адресу http://zabbix.au.team. Вы должны попасть на веб-интерфейс Zabbix.


Итог

  • Nginx на SRV1-DT настроен как обратный прокси-сервер.
  • Запросы к www.au.team перенаправляются на контейнер web на SRV2-DT.
  • Запросы к zabbix.au.team перенаправляются на Zabbix на SRV3-DT.
  • Сетевое оборудование настроено для обеспечения работы сервисов.