Question

Load Balancer forward client public IP address

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!

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

Accepted Answer

@inigo3b78cb3721646dd1c6241

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 :(

That’s what I initially though about, but there is nothing in phpinfo() in the $server section. Nothing like HTTP_X_FORWARDED

weird