IP白名单一个带有nginx的php文件,但仍然运行php

IP白名单一个带有nginx的php文件,但仍然运行php,php,nginx,Php,Nginx,我有一个非常典型的php5 fpm设置,如下所示: location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/home/gfd-dev/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } 我只想通过ip地址阻止1个

我有一个非常典型的php5 fpm设置,如下所示:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass  unix:/home/gfd-dev/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}
我只想通过ip地址阻止1个文件,但php不会运行

location ^~ /script_to_hide.php {
  allow 100.100.100.100; 
  deny all;
}
我是将整个php$params都放在这两个文件中,还是有其他方法让php运行?

nginx.conf

location ~ \.php$ {
    include fastcgi_params;
}

location ^~ /secret_functions/ {
    allow 100.100.100.100; 
    deny all;
    include fastcgi_params;
}
快速CGI_参数

    ...
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass  unix:/home/gfd-dev/var/run/php5-fpm.sock;
    fastcgi_index index.php;
附言

Nginx根据以下内容遍历每个位置:


谢谢@mikhailov,我也能做到这一点,但我想我正在试图弄清楚的是,如果每次我想做指令时都必须这样做,我是否必须输入php位,如果我一直复制和粘贴相同的代码位,它可能会变得非常混乱。是否有某种包容的方式来写它?或者目录更适合运行.php?
location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}