nginx常见的访问控制第一个基于ip的访问控制http_access_module模块,第二个基于用户的信任登录http_auth_basic_module模块,下面小菜就简单说明这两个模块如何进行nginx的访问控制。在此之前 小菜先放上这两个模块的文档地址。

● http_access_module

● http_auth_basic_module

1.http_access_module

1.allow

Syntax:	allow address | CIDR | unix: | all;
Default: 
Context: http, server, location, limit_except

2.deny

Syntax:	deny address | CIDR | unix: | all;
Default: 
Context: http, server, location, limit_except

名词解释

address  指IP地址(192.168.1.1)
CIDR     指网段(192.168.1.0/24)
unix     主要是在linux和unix用到的socket访问
all      所有人访问

示例配置

1.禁止114.86.45.85访问,允许所有ip访问

location / { 
	root   /opt/app/code;
	deny   114.86.45.85;
	allow  all;
	index  index.html index.htm;
}   

2.允许222.128.189.0/24网段ip访问,禁止所有ip访问

location ~ /{
	root   /opt/app/code;
	allow 222.128.189.0/24;
	deny all;
	index  index.html index.htm;
}

allow 和 deny是配合使用的。

局限性

ssl

如果客户端使用代理来访问网站,这样就不能保证禁止或允许某些ip访问。

2.http_auth_basic_module

1.auth_basic

Syntax:	auth_basic string | off;
Default: auth_basic off;
Context: http, server, location, limit_except

2.auth_basic_user_file

Syntax:	auth_basic_user_file file;
Default: 
Context: http, server, location, limit_except

示例配置

新建一个密码文件,名称为auth_conf,用户名为wali,回车后输入密码123456,确认密码

htpasswd -c ./auth_conf wali
location ~ ^/admin.html {
	root   /opt/app/code;
	auth_basic "Auth access test!input your passward!";
	auth_basic_user_file /etc/nginx/auth_conf;
	index  index.html index.htm;
}

重新服务

nginx -s reload -c /etc/nginx/nginx.conf

然后在访问http://walidream.com,就会先让你输入密码。输入正确然后才能访问。

3.局限性

● 用户信息依赖文件方式

● 操作管理机械,效率低下

nginx教程

nginx环境搭建(1) nginx基础知识(2) nginx的安装 卸载(3) nginx的基本参数使用(4) nginx分析默认配置(5) nginx 虚拟主机配置(6) nginx 日志(7) nginx 模块(8) nginx 访问控制(9) nginx 静态资源web服务(10) nginx 缓存(11) nginx 跨域访问(12) nginx 防盗链(13) nginx 正向,反向代理配置(14) nginx 代理缓存配置(15) nginx websocket(16) nginx fastcgi(17) nginx 搭建wordPress博客(18) nginx Fastcgi缓存配置(19) nginx uwsgi反向代理(20) nginx 负载均衡(21) [深] nginx 动静分离(22) [深] nginx rewrite规则(23) [深] nginx 平滑升级 添加模块 调试(24) [深] nginx secure_link_module模块(25) [深] nginx geoip_module模块(26) [深] nginx https(27) [深] nginx与lua的开发(28) [架] nginx常见问题(29) [架] nginx性能优化(30) [架] nginx 安全(31) [架] nginx 反向代理gRpc(32)