php – Nginx:拒绝访问其中的目录和文件

我有一个目录/管理员,我想阻止目录和目录内的文件访问任何人通过公共IP访问.这是我的设置:

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

这在访问目录时工作正常,但是,如果有人专门访问目录中的文件(例如,url =“../ admin / adminer.PHP),它不会拒绝访问该文件.我也尝试过其他设置如:

location ~ /admin/.*${
       allow 192.168.0.0/24;
       deny all;
}

这似乎可以在从公共IP访问时拒绝所有访问,当通过内部IP访问时,PHP代码不再有效,PHP代码只是以明文形式回显.

这里提供了我的其他位置指令,以防它以某种方式影响行为:

location / {
   try_files $uri $uri/ /index.PHP?args;
}
location ~ \.PHP${
  include snippets/fastcgi-PHP.conf;
  fastcgi_pass unix:/var/run/PHP5-fpm.sock;
  fastcgi_split_path_info ^(.+\.PHP)(/.+)$;

  fastcgi_cache_bypass $skip_cache;
  fastcgi_no_cache $skip_cache;
  fastcgi_cache wordpress;
  fastcgi_cache_valid 60m;
}

希望有人能帮助我解决这个问题.

最佳答案
创建另一个位置块,看看它是否有效:

    location ~ /admin/.*\.PHP${
       allow 192.168.0.0/24;
       deny all;

       include snippets/fastcgi-PHP.conf;
       fastcgi_pass unix:/var/run/PHP5-fpm.sock;
       fastcgi_split_path_info ^(.+\.PHP)(/.+)$;

       fastcgi_cache_bypass $skip_cache;
       fastcgi_no_cache $skip_cache;
       fastcgi_cache wordpress;
       fastcgi_cache_valid 60m;
    }

相关文章

一、Linux下Nginx的安装 1.去官网 http://nginx.org/download/下载对应的Nginx安装包,推荐使...
一、空格:默认匹配、普通匹配 location / { root /home; } 二、= :精确匹配(表示匹配到 /home/resou...
``` nginx -c 配置文件路径 ``` ``` /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.con...
前言 nginx可所谓是如今最好用的软件级别的负载均衡了。通过nginx的高性能,并发能力强,占用内存下的特...
1.ngnix概念 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄...
博客园从今天上午就开始报502错误 , 他的原因还不知道 , 暂时先说下我们遇到502的排查情况 最大的可能性...