How can I access the public IP address of the client behind a DO load balancer?
Does the load balancer send any header with this IMPORTANT info? Can’t find it in my $_SERVER info array :(
thanks!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
If you use var_dump( $_SERVER );
are you not seeing X-Forwarded-For
?
You’ll want to look for HTTP_X_
headers when it comes to fetching information coming from the LB, such as the proto (HTTP/HTTPS), port, and client IP.
HTTP_X_FORWARDED_PORT
HTTP_X_FORWARDED_PROTO
HTTP_X_FORWARDED_FOR
I never figured it out. For a few minutes I thought the nginx fix posted in stackoverflow was the solution, but then I saw it was not working either, so I removed the DigitalOcean load balancers and setup one on my own with a cheaper $10 droplet.
Hey I got same issue too, this is my system visitor -> load balancer -> my server[nginx -> apache]
How can i get the real remote ip address, please :(
It was an NGINX config issue.
Fix here: http://stackoverflow.com/questions/25929599/nginx-replace-remote-addr-with-x-forwarded-for
That’s what I initially though about, but there is nothing in phpinfo() in the $server section. Nothing like HTTP_X_FORWARDED
weird