<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Hello
All,</font></p><p style="margin-bottom:0cm"><font face="Times New Roman, serif">sorry
for not undestand clearly first.</font></p>
<p style="margin-bottom:0cm">
</p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Now
my understandin is the following code is working</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">sub
vcl_recv {</font></p>
<p style="margin-bottom:0cm">        <font face="Times New Roman, serif">remove
req.http.X-Forwarded-For;</font></p>
<p style="margin-bottom:0cm">        <font face="Times New Roman, serif">set
req.http.X-Forwarded-For = client.ip;</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">}</font></p>
<p style="margin-bottom:0cm">
</p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">and
this will create a new header X-Forwarded-For (which valu will be
client IP address)</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">now
this “X-Forwarded-For” value we have to chatch in our back end
web server like apace, IIS, nginx, tomcat, resin-pro etc!</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">This
is what is understand and its work for me.</font></p>
<p style="margin-bottom:0cm">
</p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Please
make me confirm it.</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Or
is there other way to catch this client IP in back end server ?</font></p><p style="margin-bottom:0cm"><font face="Times New Roman, serif">(in my case our application is made by java which need huge change if I use header "X-Forwarded-For" )<br>
</font></p>
<p style="margin-bottom:0cm">
</p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Thanks</font></p>
<p style="margin-bottom:0cm"><font face="Times New Roman, serif">Jewel</font></p>
<br><br><div class="gmail_quote">On Mon, Mar 19, 2012 at 5:17 PM, Geoff Simmons <span dir="ltr"><<a href="mailto:geoff@uplex.de">geoff@uplex.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<div class="im"><br>
On 3/19/12 9:00 AM, Michael Alger wrote:<br>
>> On Mon, Mar 19, 2012 at 4:36 PM, Jewel Nuruddin wrote:<br>
>>> My varnish is run on 10.70.18.22 server and my web server run<br>
>>> back  end 10.70.18.30 When client browse through varnish in my<br>
>>> web server it always show varnish IP(10.70.18.22) But I want my<br>
>>> web server should display client IP address. I use the<br>
>>> following configuration<br>
>> Sorry I the configuration is bellow, please ignore my previous<br>
>> configuration.<br>
>><br>
>> sub vcl_recv { remove req.http.X-Forwarded-For; set<br>
>> req.http.X-Forwarded-For = client.ip;<br>
>><br>
>> }<br>
>><br>
>> But still it did not work for me !!!<br>
><br>
> The above code adds a new header "X-Forwarded-For" which will<br>
> contain the IP address of the client, as seen by Varnish. You can<br>
> modify the backend server to utilise this header rather than the<br>
> address of the connection itself, if you wish to<br>
> display/store/etc. the client's IP address. This is fairly easy if<br>
> you're displaying this information in your own server-side code<br>
> (PHP, ASP, etc.).<br>
<br>
</div>Should add to this that in vcl_recv(), we don't know if the request<br>
will be seen by a backend at all -- it depends on whether or not<br>
Varnish decides to deliver a cached object. If backends generate<br>
responses that include a client IP obtained from X-Forwarded-For, and<br>
those responses are cached, then when Varnish returns the cached<br>
object, it will have whatever client IP was included when the backend<br>
generated it. That very likely *won't* be the IP of the client who<br>
sent the current request.<br>
<br>
If you want Varnish to return responses that include the current<br>
client IP every time, then it is almost certainly impossible to have<br>
Varnish cache those responses. There might be some sort of trick here,<br>
perhaps some kind of black magic with ESI, but I doubt it.<br>
<br>
Is this is a problem you could solve some other way? Having the<br>
current client IP in every response and caching with Varnish are two<br>
goals that are in conflict with one another.<br>
<br>
<br>
Best,<br>
Geoff<br>
- --<br>
UPLEX Systemoptimierung<br>
Schwanenwik 24<br>
22087 Hamburg<br>
<a href="http://uplex.de/" target="_blank">http://uplex.de/</a><br>
Mob: <a href="tel:%2B49-176-63690917" value="+4917663690917">+49-176-63690917</a><br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG/MacGPG2 v2.0.14 (Darwin)<br>
Comment: Using GnuPG with Mozilla - <a href="http://enigmail.mozdev.org/" target="_blank">http://enigmail.mozdev.org/</a><br>
<br>
iQIcBAEBCAAGBQJPZuudAAoJEOUwvh9pJNUReZoP/jTCsZB1HNE3s9nv5ybtrTOR<br>
2KWLmGlkF5ZoO7GAVfy+20FwP2RoeBphAl6k8N2Wve3a5bP5ZgUZT3dtlHUh1u9l<br>
LGuW2qBtU76yNnHpGWbQXifTN26DZ6e24MuWkr+mpMbPe0kAFSxEukvmVSBZGwgW<br>
IVbsIW025AnkNL3DHUvE3NcBYnw/zuGuvBWF2NyT7a+hC/jJfE9KUv2GVGRKhK8o<br>
UtTl8TiyWZsKIWLGGJuWg4pNMKxLoGyXiHuY4FAs32u96m14yrvIc27/IB1N6rJw<br>
x7Od8oNYPYrUp9sI5o/KIVqAM7kg1kqlAy7/HdZ647JyXMODQqf4HxjURa+1NpJl<br>
STNrLh9VTgNBIMHiGBpyq54tBm1Hr43qh/JN9T8OegkuCbf1Jpmb2nwP+S4mt6hu<br>
CH3qbWm6HDdX20c5s9n9Pq+m2NCz7pKkWv0QJmtVHigriiZBaQEcTRynAboctbGD<br>
DcgJkkCvVfNYpSPJvHQndkHUj7vXoilN7wUXUQm3mB111RpqeiZ5BaocgeJ+iXHf<br>
FScApUGhYDxI/FbCkSj9tHo5RSpydorNqwkQREFLgzre1pUBBt4Xu6vg5eEdQt1l<br>
ialnhCXYZeS0zxq+3QFQvs3mpKJZ60HFZEcjBqPPzKcAqxhKe1y057PjHoyY+GFp<br>
FEQBlT1LfpQVu9pTutcU<br>
=nJcZ<br>
-----END PGP SIGNATURE-----<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org">varnish-misc@varnish-cache.org</a><br>
<a href="https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc" target="_blank">https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc</a><br>
</div></div></blockquote></div><br>