Mischa,

as you were guessing right, my sole intention was to have the actual
client IP address available on the server side without changing anything
in the current server configuration. With your explanation, I understand
that in my case this is not possible. So, as you suggested, passing the
client IP to the server side by means of the 'X-Forwarded-For' header is
the way to go.

Thanks for your help.

Matthias


On 2019-11-05 20:46, Mischa Peters wrote:
What are you trying to do?

When you are using transparent (Direct Server Return) you have to make sure you 
disable ARP on the servers you are load balancing.

What happens with transparant is that the server gets the client IP as source, 
not the IP of relayd, and will respond directly to the client from its own IP 
address. The client is expecting a response from the relayd IP address and 
doesn’t respond to the server.

Since you are going to the same server it might not be a good idea to use 
transparent. :)

If you want to get the client IP address on your destination you can add the 
client IP address in a header, if it’s HTTP.

With headers like:

match request header set "X-ClientIP" value "$REMOTE_ADDR"
match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
match request header append "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT"

Hope this helps.

Mischa


Reply via email to