Nginx 之 基于ip和用户的控制

2017-10-29  本文已影响0人  ghbsunny

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所提供

上一篇下一篇

猜你喜欢

热点阅读