On Fri, Feb 10, 2012 at 5:58 PM, António P. P. Almeida <span dir="ltr"><<a href="mailto:appa@perusio.net">appa@perusio.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im">On 10 Fev 2012 19h40 WET, <a href="mailto:guilherme.e@gmail.com">guilherme.e@gmail.com</a> wrote:<br>
<br>
> Adrián,<br>
><br>
> This would fix the problem, but I don't know the directories that<br>
> has a .htaccess file with allow/deny.<br>
><br>
> Example:<br>
><br>
> Scenario: nginx (cache/proxy) + back-end apache<br>
><br>
> root@srv1 [~]# ls -a /home/domain/public_html/restrictedimages/ ./<br>
> ../ .htaccess image.jpg root@srv1 [~]# cat<br>
> /home/domain/public_html/restrictedimages/.htaccess allow from<br>
> x.x.x.x deny from all<br>
><br>
> In the first access (source IP: x.x.x.x) to<br>
> <a href="http://domain.com/restrictedimages/image.jpg" target="_blank">http://domain.com/restrictedimages/image.jpg</a>, nginx proxy request to<br>
> apache and cache response. The problem comes in other request from<br>
> other IP address different from x.x.x.x. Nginx deliver the objects<br>
> from cache, even if the ip address is not authorized, because nginx<br>
> doesn't understand .htaccess.<br>
><br>
> I would like to bypass cache in this cases, maybe using<br>
> proxy_cache_bypass, but I don't know how. Any idea?<br>
<br>
</div>I already gave you a suggestion. You just need to use a geo directive<br>
where you enumerate all the IPs that can **access**.<br>
<br>
AFAICT this foots the bill. No need to complicate it with headers<br>
being passed to the backend.<br>
<span class="HOEnZb"><font color="#888888"><br>
--- appa<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a></div></div></blockquote></div><br>Antonio, geo directive would be a great idea if I know the IPs that can access the website (or directory), but the application is not mine, and the customer can change this list (in .htaccess). In this case the ip list in nginx would be outdated.<br>