Перейти к основному содержимому
Настроить правило TCP → Proxy

Настроить правило TCP → Proxy

Чтобы видеть реальные IP-адреса клиентов, которые обращаются к балансировщику нагрузки, можно создать правило TCP → Proxy и использовать Proxy Protocol. Информация о клиентах добавится в заголовок соединения.

  1. Создайте балансировщик нагрузки. При настройке правила балансировщика нагрузки укажите:

    • протокол для балансировщика нагрузки — TCP;
    • порт для балансировщика нагрузки — 80;
    • протокол для серверов — PROXY;
    • порт для серверов — 80.
  2. Подключитесь к облачному серверу из правила.

  3. Установите и настройте nginx:

    apt update
    apt install nginx
    systemctl start nginx
  4. Откройте конфигурационный файл nginx.conf на облачном сервере:

    nano /etc/nginx/nginx.conf
  5. Включите поддержку директивы proxy_protocol — добавьте секцию server в блоке http:

    http {
    ...
    server {
    server_name localhost;

    listen 80 default_server proxy_protocol;

    set_real_ip_from <amphora_ip_address>;
    real_ip_header proxy_protocol;

    root /usr/share/nginx/html;
    index index.html index.htm;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }

    location ~ /\.ht {
    deny all;
    }
    }
    }

    Укажите <amphora_ip_address> — IP-адрес балансировщика нагрузки, например 192.168.0.3. Можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → страница балансировщика нагрузки. Используется как доверенный адрес — подробнее о директиве set_real_ip_from в документации nginx;

  6. Убедитесь, что в конфигурационном файле nginx.conf удалена или закомментирована директива include /etc/nginx/sites-enabled/;*. Если это невозможно сделать, используйте пример из предыдущего шага и измените файлы в директории /etc/nginx/sites-enabled/