Работа сервера Nginx Proxy.

Введение.

Надеюсь читатели имеют представление о всех возможностях использовании веб-сервера Nginx, если нет, посмотрите полезные ссылки. Продолжая изучать Nginx, остановимся на рассмотрении использования его в качестве Proxy для HTTP запросов. Теория Proxy многогранна, но основным является — перенаправление запросов пользователей на узловое устройство, для доступа к ресурсам общего доступа, например в Интернет.

Подготовка.

  • Стенд:
  • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;
  • mysql 8.0.xx
  • php8.1.x
  • Альт Рабочая станция К, имя: lin-kw, IP=10.0.2.10

Для работы серверу Nginx, требуется поддержка интерпретатора языка PHP — FastCGI.

FastCGI — протокол взаимодействия веб-сервера и php приложений.

В модуль FastCGI входит пакет FPM — Fast Process Manager, управляющий PHP запросами с помощью FastCGI протокола. Менеджер PHP-FPM контролирует количество процессов PHP и частоту их создания.

Текущею версию PHP можно узнать с помощью команды.

# php -v

Установка и запуск менеджера php-fpm.

# apt-get update
# apt-get install php8.1-fpm-fcgi
# systemctl start|stop|restart|status php8.0-fpm
# systemctl enable php8.1-fpm

Настройка.

Настройку Proxy Nginx будем осуществлять из логики работы организации, в которой используется внутренняя LAN сеть и внешняя WAN с выходом в интернет. Выполняя требования ФЗ, эти две сети не связаны между собой. Для работы с Интернет выделен nginx сервер, имеющий подключение к внешней WAN сети. Все рабочие станции, в сети WAN, могут иметь соединение с интернет, только через Nginx Proxy.

Вид:Схема работы Nginx Proxy
Вид:Схема работы Nginx Proxy

Установка Nginx Proxy.

В качестве стенда выберем сервер минимальной конфигурации, на котором установим следующие пакеты.

# apt-get update
# apt-get install nginx

Подробная инструкция настройки Nginx, см. полезные ссылки.

Конфигурация Proxy.

Для начала в каталоге /etc/nginx/sites-available.d/ создадим файл настроек proxy.conf.

# cd /etc/nginx/sites-available.d/
# touch proxy.conf

Запишем в него инструкцию, переводящая сервер в режим Nginx Proxy.

server {
    listen 8000;
    server_name 127.0.0.1;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

location / {
    proxy_pass http://10.0.2.11;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
}

Инструкция небольшая, в дальнейшем, при желании, можно дополнить необходимыми директивами и переменными см.полезные ссылки. Листинг сценария можно использовать, как базовую конфигурацию Nginx Proxy.

  • listen — порт прослушивающий Nginx
  • server_name — имя или ip сервера Nginx
  • proxy_pass — протокол прокси для Nginx
  • proxy_set_header — передача заголовка
  • Host $host — переменная, заголовок сервера
  • X-Forwarded-For — заголовок запроса
  • $proxy_add_x_forwarded_for — переменная = $remote_addr
  • X-Real-IP — меняет ip на переданный
  • $remote_addr — адрес клиента

Создадим ссылку на рабочий каталог, перегрузим nginx.

# ln -s /etc/nginx/sites-available.d/proxy.conf /etc/nginx/sites-enabled.d/proxy.conf
# nginx -s reload

Как работает Nginx Proxy.

Работает сценарий Nginx Proxy следующим образом. В организации все ПК включённые в сеть WAN не имеют выход в Интернет. Сервер lin-nginx подключён к интернет, через выделенный ip 10.0.2.11 (стендовое значение), является шлюзом прокси для всех ПК настроенных на него. Сервер lin-nginx контролирует работу клиентских станций, осуществляет запись в журнале о всех действиях подключённых к нему клиентов Интернет.

Настройка ПК.

После того, как сервер Nginx Prox был успешно создан, протестирован и запущен, переходим к настройкам на стороне ПК. Откройте свой любимый браузер и выполните действия, как показано ниже, не забудьте указать порт и ip адрес Nginx Proxy. Чтобы попасть в окно режима сетевых настроек, например браузера Firefox, пройдите путь -/Настройки/Параметры сети/Настроить

Вид: Настройка браузера для Proxy.
Вид: Настройка браузера для Proxy.

Выполните настройки браузера на всех рабочих станциях организации, которым необходим выход в Интернет.

Заключение

Современные условия безопасной работы организации, требует выполнения ряда требований ФЗ предъявляемых коммерческим предприятиям и гос.органам. Решение вопросов безопасного доступа к Интернет для сетевых устройств предприятия, можно осуществлять используя технологию прокси, применяя для этого серверные платформы входящие в перечень разрешённых программных продуктов. Инструкция, приведённая в примере является рабочей, её можно использовать, а при желании расширить дополнительным синтаксисом. Необходимо, только учитывать — дополнительный код, ТРЕБУЕТ дополнительных серверных ресурсов.

Полезные ссылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *