Настроить правило TCP → Proxy
Чтобы видеть реальные IP-адреса клиентов, которые обращаются к балансировщику нагрузки, можно создать правило TCP → Proxy и использовать Proxy Protocol. Информация о клиентах добавится в заголовок соединения.
Подробнее в инструкции Изменение IP-адреса балансировщика нагрузки на IP-адрес клиента документации nginx.
- Для HTTP
- Для HTTPS
Создайте балансировщик нагрузки. При настройке правила балансировщика нагрузки укажите:
- протокол для балансировщика нагрузки —
TCP
; - порт для балансировщика нагрузки —
80
; - протокол для серверов —
PROXY
; - порт для серверов —
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 <amphora_ip_address>;
real_ip_header proxy_protocol;
...
}Укажите
<amphora_ip_address>
— IP-адрес балансировщика нагрузки, например192.168.0.3
. Можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → страница балансировщика нагрузки. Используется как доверенный адрес — подробнее о директиве set_real_ip_from в документации nginx.
Создайте балансировщик нагрузки. При настройке правила балансировщика нагрузки укажите:
- протокол для балансировщика нагрузки —
TCP
; - порт для балансировщика нагрузки —
443
; - протокол для серверов —
PROXY
; - порт для серверов —
443
.
- протокол для балансировщика нагрузки —
Подключитесь к облачному серверу из правила.
Установите и настройте 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 <amphora_ip_address>;
real_ip_header proxy_protocol;
...
}Укажите
<amphora_ip_address>
— IP-адрес балансировщика нагрузки, например192.168.0.3
. Можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики → страница балансировщика нагрузки. Используется как доверенный адрес — подробнее о директиве set_real_ip_from в документации nginx.