Nginx访问控制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Nginx访问控制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2355字,纯文字阅读大概需要4分钟。
内容图文
![Nginx访问控制](/upload/InfoBanner/zyjiaocheng/1263/613122c297bf44c08a37d8644768ce70.jpg)
Nginx访问控制
如何去做一些特殊的访问的控制?例如禁止攻击IP的访问,登录管理页面设置管理员IP即白名单,该如何去做呢?
Nginx访问控制一行一行过滤,匹配到规则后,直接执行,后面的规则不再重复匹配,Apache有order,指定allow和deny的匹配先后顺序。
一、编辑虚拟主机的配置文件,针对location模块或者某个目录
[root@daixuan vhosts]# vim test.conf
location ~ .*admin\.php$ {
allow 127.0.0.1; //只允许127.0.0.1访问,
deny all; //其他拒绝
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
[root@daixuan vhosts]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@daixuan vhosts]# /etc/init.d/nginx reload
重新载入 Nginx: [确定]
[root@daixuan vhosts]# /etc/init.d/nginx restart
停止 Nginx: [确定]
正在启动 Nginx: [确定]
[root@daixuan vhosts]# curl -x127.0.0.1:80 www.test.com/admin.php -I
HTTP/1.1 200 OK 127.0.0.1可以访问admin.php
Server: nginx/1.8.0
[root@daixuan vhosts]# curl -x192.168.101.230:80 www.test.com/admin.php -I
HTTP/1.1 403 Forbidden 其他的任何IP都无法访问
Server: nginx/1.8.0
二、针对全局
1、针对全局设置黑名单
[root@daixuan vhosts]# vim test.conf
server
{
listen 80;
server_name www.test.com www.aaa.com www.bbb.com;
if ($host != ‘www.test.com‘){
rewrite ^/(.*)$ http://www.test.com/$1 permanent;
}
index index.html index.htm index.php;
root /data/www;
access_log /tmp/access.log daixuan;
deny 127.0.0.1; //设置黑名单,默认allow all可以不写
//allow all;
}
[root@daixuan vhosts]# /etc/init.d/nginx reload
[root@daixuan vhosts]# curl -x127.0.0.1:80 www.test.com -I
HTTP/1.1 403 Forbidden
[root@daixuan vhosts]# curl -x192.168.101.230:80 www.test.com -I
HTTP/1.1 301 Moved Permanently
2、针对全局设置白名单
[root@daixuan vhosts]# vim test.conf
server
{
listen 80;
server_name www.test.com www.aaa.com www.bbb.com;
if ($host != ‘www.test.com‘){
rewrite ^/(.*)$ http://www.test.com/$1 permanent;
}
index index.html index.htm index.php;
root /data/www;
access_log /tmp/access.log daixuan;
allow 192.168.101.0/24; //白名单设置192.168.101.0网段允许访问,其他全部拒绝
deny all;
[root@daixuan vhosts]# curl -x192.168.101.230:80 www.test.com -I
[root@daixuan vhosts]# curl -x127.0.0.1:80 www.test.com -I
HTTP/1.1 403 Forbidden
[root@daixuan vhosts]# curl -x192.168.101.230:80 www.test.com -I
HTTP/1.1 301 Moved Permanently
本文出自 “daixuan” 博客,请务必保留此出处http://daixuan.blog.51cto.com/5426657/1734602
原文:http://daixuan.blog.51cto.com/5426657/1734602
内容总结
以上是互联网集市为您收集整理的Nginx访问控制全部内容,希望文章能够帮你解决Nginx访问控制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。