Forward single request to upstream server via proxy_store !!
Reinis Rozitis
r at roze.lv
Wed Sep 24 13:32:39 UTC 2014
> @RR. could you guide me a bit on it or point me to some guide to start
> with. I have worked with varnish regarding php caching so i have the basic
> knowledge of varnish but i am just not getting on how to make it work with
> proxy_store. :(
Depending on your needs (for example SSL) you can put varnish in different
places in the setup:
If you use SSL (which varnish itself doesn't support) you can use your
proxy_store server as an SSL offloader:
1. [client] <- -> [nginx proxy_store server] <- -> [varnish] <- ->
[content_server]
.. in this case when multiple requests land onto nginx proxy_store in case
the file locally doesnt exist those are forwarded to varnish and combined
into a single request to the content server.
A simplistic/generic nginx config:
location / {
error_page 404 = @store;
}
location @store {
internal;
proxy_pass http://imgstore;;
proxy_store on;
}
varnish config:
backend default {
.host = "content_server.ip";
}
sub vcl_recv {
set req.backend = default;
}
Obviously add whatever else you need (like forwarded-for headers to pass the
real client ip, cache expire times etc).
2. In case you don't use SSL:
[client] <- -> [varnish] <- -> [content_server]
(optionally you put nginx or some other software like stud or pound on top
of varnish as SSL offloader (personally I use Shrpx from Spdylay (
https://github.com/tatsuhiro-t/spdylay ))
Then generic varnish config would look bassically the same:
backend default {
.host = "content_server.ip";
}
sub vcl_recv {
set req.backend = default;
}
sub vcl_backend_response {
set beresp.do_stream = true;
}
Hope that helps.
rr
More information about the nginx
mailing list