Internal redirecition with dynamic backend (fetch 302 and return content)

Kristian Lyngstol kristian at
Wed Apr 22 10:45:01 CEST 2009

On Wed, Apr 22, 2009 at 08:41:58AM +0200, Augustin Amann wrote:
> 1) RP do GET to the backend
> 2) backend reply a 302 to another server
> 3) RP do a GET to this new location
> 4) RP return content and store it.
> Maybe i can use restart, like [1].
> I have no idea where the new location (gived by 302) is, this could be a 
> problem for a reverse proxy !
> So I think it's not realy the varnish way to deal with "dynamic 
> backend", but vcl is powerfull,
> and if I can define backend host and url on the fly, it could save my day !

In vcl_fetch:

if (obj.status == 302) {
	set req.url = obj.http.Location;

The normal routines in vcl_recv will have to determine which backend to use
based on the new req.url. This will have to be pre-defined backends, so no
random redirects I'm afraid.

Kristian Lyngstøl
Redpill Linpro AS
Tlf: +47 21544179
Mob: +47 99014497
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <>

More information about the varnish-misc mailing list