Nginx 之 基于ip和用户的控制

时间:2022-08-28 12:19:47

1  概述

本文将介绍基于ip和用户实现对网页的访问权限控制。通过ngx_http_access_module模块实现基于ip的控制,ngx_http_auth_basic_module模块实现基于用户的控制

2  ngx_http_access_module模块

实现基于ip的访问控制功能

.1allowaddress | CIDR | unix: | all;

.2denyaddress | 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机制进行用户认证

.1auth_basics tring| off;

.2auth_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

相关文章