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
