So I have Nginx proxy and some servers running behind it. I need to know real users IP not proxy, so I using real_ip module. Everything is working as expected, but if I configure vhost like subdomain.domain.com backend getting Nginx proxy IP.
Here is my Nginx config sample
set_real_ip_from 192.168.2.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
upstream srv1 { server 192.168.2.12:80; }
server {
listen 80;
server_name dev.somedomain.com;
location / {
proxy_pass http://srv1;
}
}
server {
listen 80;
server_name somedomain.com;
location / {
proxy_pass http://srv1;
}
}
So if I go to somedomain.com backend receiving real IP, no problems here.
But for dev.somedomain.com backend receiving proxy IP!
And this is only shortened example, same situation with different domains and subdomains…
I just don't see whats is wrong here…
Best Answer
Ok so it seams my mistake, everything is fine with this configuration, I need extra step in backend to complete my task, as for specific example I needed to set option in backend server (litespeed web server) option "Use Client IP in Header" I must be accidentally disabled it.