2013-07-24 26 views
0

我想阻止我的web服務器上的apc.php文件。如果按照以下步驟工作,但我認爲有一種更好的方法可以做到這一點,並將deny/allow規則放在一般位置〜.php $ block下面。用fastcgi params做兩個塊看起來不太合適。nginx中禁止apc.php文件

#Block to apc.php 
location ~ /apc.php { 

    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 

    allow 192.168.3.0/24; 
    deny all; 
} 

# use fastcgi for all php files 
location ~ \.php$ 
{ 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 
} 

回答

0

由於「拒絕」不準在if語句,你可以使用嵌套的位置像location/{ location /uri/ {} },但是,它不鼓勵Nginx的手冊:

「雖然嵌套的位置由配置所允許的文件解析器, 他們的使用是不鼓勵,並可能產生意想不到的結果。「