×
新网 > 虚机资讯 > 正文

nginx访问控制

  • 作者:未知
  • 来源:
  • 2018-05-08 14:20:47

nginx访问控制 (1)可以限制只让某个ip访问 如:只让127.0.0.1访问admin.php [root@wjh2 ~]# vi /usr/local/nginx/conf/vhosts/discuz.conf #打开虚拟主机配置文件# 加入以下配置: location ~ .*admin.php$ { allow 127.0.0.1; deny all; #auth_b

nginx访问控制

002UASMrzy7605pjKJv15&690.jpg

(1)可以限制只让某个ip访问

如:只让127.0.0.1访问admin.php

[root@wjh2 ~]# vi /usr/local/nginx/conf/vhosts/discuz.conf #打开虚拟主机配置文件#

加入以下配置:

location ~ .*admin.php$ {

allow 127.0.0.1;

deny all;

#auth_basic "qing zhu yi an quang";

#auth_basic_user_file /usr/local/nginx/conf/.htpasswd;

include fastcgi_params;

fastcgi_pass unix:/tmp/abc.sock;

#fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /discuz/www$fastcgi_script_name;

}

curl测试结果:127.0.0.1访问200 OK

 

其他IP访问访问显示403

 

(2)禁止某个IP或者IP段访问站点的设置

[root@wjh2 ~]# vi /usr/local/nginx/conf/vhosts/discuz.conf #打开虚拟主机配置文件#

加入以下配置全局:

server

{

listen 80;

server_name www.123.com www.456.com www.1234.com;

#域名跳转

if ($host != \'www.123.com\')

{

rewrite ^/(.*)$ 

}

index index.html index.htm index.php;

root /discuz/www;

deny 127.0.0.1;

deny 192.168.0.0/24;

(3) 需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下:

location /admin/

{

allow 192.168.133.1;

allow 127.0.0.1;

deny all;

}

(4) 可以匹配正则

location ~ .*(abc|image)/.*.php$ #只要匹配这两个目录,就不能解析php#

{

deny all;

}

(5)根据user_agent限制

if ($http_user_agent ~ \'Spider/3.0|YoudaoBot|Tomato\')

{

return 403;

}

deny all和return 403效果一样

 

 

总结:如果只有单独的全局匹配或单独的location精确匹配,他们都是以来源IP 逐一从上到下匹配,其中一条命令匹配成功,其他匹配条件失效。

如果既有全局匹配又有location精确匹配情况,以location精确匹配情况为主、以来源IP逐一从上到下匹配,其中一条命令匹配成功,其他匹配条件失效。

 

 

 

 

 

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading