Setting Allow / Deny Rules + Keep processing other location rules?
Maxim Dounin
mdounin at mdounin.ru
Sat Jul 5 20:43:55 UTC 2014
Hello!
On Sat, Jul 05, 2014 at 12:29:18PM -0400, Mayhem30 wrote:
> I'm having a heck of a time setting allow / deny rules for certain
> directories and files + getting Nginx to keep handling other location
> rules.
>
> For example, I want to only allow my IP address access to the WordPress
> login page:
>
> location ~* wp-login.php {
> allow 22.131.12.14;
> deny all;
> }
>
> # Pass off php requests to Apache
> location ~* \.php$ {
> include /usr/local/etc/nginx/proxypass.conf;
> proxy_pass http://127.0.0.1:80;
> }
>
> When I visit the WordPress login page, all I see is the raw PHP code.
>
> How can I set up the first location block to allow me to add allow / deny
> rules, charset, headers, etc + have PHP files still processed by the second
> location block?
To process a request nginx will select only one location block.
Therefore, the only way is to specify full configuration in a
single location block.
E.g., in this particular case you have to write something like
this:
location ~* wp-login.php {
allow 22.131.12.14;
deny all;
include /usr/local/etc/nginx/proxypass.conf;
proxy_pass http://127.0.0.1:80;
}
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list