<div dir="ltr">@RR, That's great. Sure it will help me. I am starting to work with it on local environment and will get back to you once the progress started :)<br><br>Thanks a lot for writing sample config for me !!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 24, 2014 at 6:32 PM, Reinis Rozitis <span dir="ltr"><<a href="mailto:r@roze.lv" target="_blank">r@roze.lv</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
@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. :(<br>
</blockquote>
<br></span>
Depending on your needs (for example SSL) you can put varnish in different places in the setup:<br>
<br>
<br>
If you use SSL (which varnish itself doesn't support) you can use your proxy_store server as an SSL offloader:<br>
<br>
1. [client] <- -> [nginx proxy_store server] <- -> [varnish] <- -> [content_server]<br>
<br>
.. 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.<br>
<br>
A simplistic/generic nginx config:<br>
<br>
location / {<br>
   error_page      404 = @store;<br>
}<br>
<br>
location @store {<br>
       internal;<br>
       proxy_pass           <a href="http://imgstore" target="_blank">http://imgstore</a>;;<br>
       proxy_store          on;<br>
}<br>
<br>
<br>
varnish config:<br>
<br>
backend default {<br>
   .host = "content_server.ip";<br>
}<br>
sub vcl_recv {<br>
   set req.backend = default;<br>
}<br>
<br>
<br>
Obviously add whatever else you need (like forwarded-for headers to pass the real client ip, cache expire times etc).<br>
<br>
<br>
<br>
2. In case you don't use SSL:<br>
<br>
[client]  <- -> [varnish] <- ->  [content_server]<br>
(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 ( <a href="https://github.com/tatsuhiro-t/spdylay" target="_blank">https://github.com/tatsuhiro-<u></u>t/spdylay</a> ))<br>
<br>
Then generic varnish config would look bassically the same:<br>
<br>
backend default {<br>
   .host = "content_server.ip";<br>
}<br>
sub vcl_recv {<br>
   set req.backend = default;<br>
}<br>
<br>
sub vcl_backend_response {<br>
   set beresp.do_stream = true;<br>
}<br>
<br>
<br>
<br>
Hope that helps.<div class="HOEnZb"><div class="h5"><br>
<br>
rr <br>
______________________________<u></u>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br></div>