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

Введение.

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

Подготовка.

  • Стенд
    • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;
      • mysql 8.0.xx
      • php8.1.x
    • ALT Simple Linux, имя: lin-sl IP=10.0.2.10

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

В модуль FastCGI входит пакет FPMFast 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 будем осуществлять из логики работы организации, в которой используется внутренняя LAN4 сеть и внешняя WAN5 с выходом в интернет. Выполняя требования ФЗ6, эти две сети не связаны между собой. Для работы с Интернетом выделен nginx сервер, имеющий подключение к внешней WAN сети. Все рабочие станции, в сети WAN, могут иметь соединение с интернетом, только через 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;
    }
}

Инструкция небольшая, в дальнейшем, при желании, можно дополнить необходимыми директивами и переменными7.

Листинг сценария можно использовать, как базовую конфигурацию 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, пройдите путь как показано ниже.

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

Заключение

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

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

Сноски.

  1. посредник, который принимает данные пользователей и отправляет их от своего имени, снижает нагрузку на основной веб сервер ↩︎
  2. сообщения, которые отправляются клиентом на сервер ↩︎
  3. FastCGI — протокол взаимодействия веб-сервера и php приложений. ↩︎
  4. локальная сеть; англ. Local Area Network, LAN ↩︎
  5. ↩︎
  6. федеральный закон ↩︎
  7. см. полезные ссылки ↩︎
  8. государственных органов ↩︎

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

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

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты