Настроить правило TCP → Proxy
Чтобы видеть реальные IP-адреса клиентов, которые обращаются к балансировщику нагрузки, можно создать правило TCP → Proxy и использовать Proxy Protocol. Информация о клиентах добавится в заголовок соединения.
Подробнее в инструкции Изменение IP-адреса балансировщика нагрузки на IP-адрес клиента документации nginx.
Для HTTP
Для HTTPS
-
Убедитесь, что создали балансировщик нагрузки со следующими параметрами:
- для целевой группы — протокол PROXY и порт 80;
- для правила — протокол TCP и порт 80.
Доступные балансировщики можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → вкладка Балансировщики.
-
Подключитесь к облачному серверу из целевой группы.
-
Установите и настройте nginx:
apt update
apt install nginx
systemctl start nginx -
Откройте конфигурационный файл на облачном сервере:
nano /etc/nginx/sites-enabled/default
-
Измените строки в блоке
server
:server {
listen 80 proxy_protocol;
set_real_ip_from <loadbalancer_ip_address>;
real_ip_header proxy_protocol;
...
}Укажите
<loadbalancer_ip_address>
— приватный IP-адрес балансировщика нагрузки, например192.168.0.3
. Можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → вкладка Балансировщики → страница балансировщика нагрузки. Используется как доверенн ый адрес — подробнее о директиве set_real_ip_from в документации nginx.
-
Убедитесь, что создали балансировщик нагрузки с следующими параметрами:
- для целевой группы — протокол PROXY и порт 80;
- для правила — протокол TCP и порт 80.
Доступные балансировщики можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → вкладка Балансировщики.
-
Подключитесь к облачному серверу из целевой группы.
-
Установите и настройте nginx:
apt update
apt install nginx
systemctl start nginx -
Откройте конфигурационный файл на облачном сервере:
nano /etc/nginx/sites-enabled/default
-
Измените строки в блоке
server
:server {
listen 443 ssl proxy_protocol;
ssl_certificate /etc/nginx/ssl/public.example.com.pem;
ssl_certificate_key /etc/nginx/ssl/public.example.com.key;
set_real_ip_from <loadbalancer_ip_address>;
real_ip_header proxy_protocol;
...
}Укажите
<loadbalancer_ip_address>
— приватный IP-адрес балансировщика нагрузки, например192.168.0.3
. Можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → вкладка Балансировщики → страница балансировщика нагрузки. Используется как доверенный адрес — подробнее о директиве set_real_ip_from в документации nginx.