Re: Ограничение доступа по IP + php-fcgi

Igor Sysoev igor на sysoev.ru
Вт Май 18 12:49:21 MSD 2010


On Mon, May 17, 2010 at 11:01:58AM -0400, alexboyko wrote:

> Имеется:
> 
> location ~* ^.+\.(mp4|mpeg|mpg|wmv|jpg|jpeg|gif|png|swf|ico|bmp|flv|avi|js|css)$ {
>  expires max;
> }
> 
> location / {
>  root /www/beta/html;
>  index  index.html index.php;
> }
> 
> location ~ \.php$ {
>  rewrite ^/ajaxTags.php /ajax_functions.php last;
>  fastcgi_buffer_size 256k;
>  fastcgi_buffers 6 512k;
>  fastcgi_pass   127.0.0.1:8000;
>  fastcgi_index  index.php;
>  fastcgi_param  SCRIPT_FILENAME  /www/beta.autocentre.ua/html$fastcgi_script_name;
>  include        fastcgi_params;
> }
> 
> 
> 
> Нужно ограничить доступ по IP к каталогу /administrator. Все вроде бы просто, добавляю:
> location ^~ /administrator/
> {
>  allow 192.168.0.0/24
>  deny all
> }
> 
> Но в этом случае ,php файлы из каталога /administrator/  на обработку к fcgi не попадают, а выдаются веб-сервером как есть.
> 
> Что делать?

root /www/beta/html;

fastcgi_buffer_size 256k;
fastcgi_buffers 6 512k;

location / {
    index  index.html index.php;
}

location ~* \.(mp4|mpe?g|wmv|jpe?g|gif|png|swf|ico|bmp|flv|avi|js|css)$ {
    expires max;
}

location /administrator/ {
    allow 192.168.0.0/24;
    deny all;
}

location ~ ^/administrator/.+\.php$ {
    allow 192.168.0.0/24;
    deny all;
    fastcgi_pass   127.0.0.1:8000;
    fastcgi_param  SCRIPT_FILENAME
                   /www/beta.autocentre.ua/html$fastcgi_script_name;
    include        fastcgi_params;
}

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:8000;
    fastcgi_param  SCRIPT_FILENAME
                   /www/beta.autocentre.ua/html$fastcgi_script_name;
    include        fastcgi_params;
}

location = /ajaxTags.php {
    fastcgi_pass   127.0.0.1:8000;
    fastcgi_param  SCRIPT_FILENAME
                   /www/beta.autocentre.ua/html/ajax_functions.php;
    include        fastcgi_params;
}


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru