1 概述
本文将介绍基于ip和用户实现对网页的访问权限控制。通过ngx_http_access_module模块实现基于ip的控制,ngx_http_auth_basic_module模块实现基于用户的控制
2 ngx_http_access_module模块
实现基于ip的访问控制功能
.1、allowaddress | CIDR | unix: | all;
.2、denyaddress | CIDR | unix: | all;
http, server, location, limit_except
自上而下检查,一旦匹配,将生效,条件严格的置前,这个规则和iptables类似
.示例:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
3 ngx_http_auth_basic_module模块
实现基于用户的访问控制,使用basic机制进行用户认证
.1、auth_basics tring| off;
.2、auth_basic_user_file file;
location /admin/ {auth_basic"Admin Area";auth_basic_user_file /etc/nginx/htpasswd;}
.用户口令两种方法,建议直接用第二种方法,机密存放账号和密码。更加安全
1、明文文本:格式name:password:comment
2、加密文本:由htpasswd命令实现。以下命令创建了用户http1。
htpasswd -c -m /etc/nginx/htpasswd http1
这样,用http1这个账号就可以登录http://172.18.50.73/admin这个目录。其中htpasswd这个工具是httpd-tools所提供
本文出自 “阳光运维” 博客,请务必保留此出处http://ghbsunny.blog.51cto.com/7759574/1977255