Перейти к основному контенту

Настройка отображение корректного IP пользователя при авторизации через HAProxy

При использовании балансировщика, например HAProxy, у всех пользователей в системе отображается адрес HAProxy, вместо IP адреса рабочей машины пользователя.

Решение:

1. Добавьте в файл конфигурации HAProxy строчку в раздел backend jms-web:

backend jms-web
  mode http
  option forwardfor except 127.0.0.1 
  http-request set-header X-Forwarded-For %[src]

2. Поочередно на каждом сервере JS откройте файл конфигурации Nginx:

nano /opt/jumpserver/config/nginx/lb_http_server.conf 

 

И добавьте строчки, чтобы в результате получилось:

server {
  listen 443 ssl http2;
  set_real_ip_from 10.10.53.210;  # IP вашего HAProxy
  real_ip_header X-Forwarded-For;
  real_ip_recursive on;

  server_tokens off;

3. Перезапустите HAProxy и Jumpserver:

systemctl restart haproxy
jmsctl restart