Wow guys ;-)<div>Thanks for all these advices. I'll test them and report any progress.<br><br><div class="gmail_quote">2010/7/7 Bjørn Ruberg <span dir="ltr"><<a href="mailto:bjorn@ruberg.no">bjorn@ruberg.no</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On 07/07/2010 12:10 AM, zabrane Mikael wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi List,<br>
<br>
I'm new to Varnish, so please apologize if the question was already asked before.<br>
<br>
I've a homemade web server running on my intranet. It works like this:<br>
<br>
1. If an HTTP request arrives without a special header "X-RAWDATA: ...",<br>
this web server forward the request to the live Web, get the response, and send it back (i.e it plays a role of a basic proxy).<br>
2. Now, if a request contains the special header "X-RAWDATA: ...", then the web server will search the response in<br>
its internal database (complex computations), and send it back.<br>
<br>
Point 2 works very very well. But not point 1 as my web server isn't a true HTTP proxy.<br>
<br>
So, my question is simple:<br>
Could I tell Varnish to inspect the HTTP headers, and decide:<br>
<br>
a. If the special header "X-RAWDATA: ..." doesn't exists, let the request go to the live Web directly.<br>
b. Otherwise, forward the request to my web server.<br>
<br>
</blockquote>
<br></div></div>
Varnish won't be able to search random, arbitrary web sites as you will need to predefine all backend. Each external web server will need to be defined as its own backend. If the live web requests are limited to a fixed number of external sites, you may define each of them in the VCL.<br>

<br>
If that is not the case, an elegant solution for your live web requests may be installing a regular proxy and define that as one backend; see <a href="http://ingvar.blog.linpro.no/2010/05/26/accelerating-the-internet-or-actually-squid-with-varnish/" target="_blank">http://ingvar.blog.linpro.no/2010/05/26/accelerating-the-internet-or-actually-squid-with-varnish/</a> for inspiration and details :-)<br>

<br>
Then, as others have also explained, you'll define two backends - one towards the regular proxy (e.g. Squid) and one towards your web server - and then make a VCL rule to define the backend based on whether the "X-RAWDATA" header is present or not.<br>

<br>
-- <br><font color="#888888">
Bjørn</font><div><div></div><div class="h5"><br>
<br>
_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@varnish-cache.org" target="_blank">varnish-misc@varnish-cache.org</a><br>
<a href="http://lists.varnish-cache.org/mailman/listinfo/varnish-misc" target="_blank">http://lists.varnish-cache.org/mailman/listinfo/varnish-misc</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Regards<br>Zabrane<br>
</div>