0
点赞
收藏
分享

微信扫一扫

云计算学习之路——Nginx访问控制

一天清晨 2022-04-23 阅读 95

Nginx访问控制

文章目录

一、基于IP的访问控制

nginx基于IP的访问控制模块:http_access_module
配置语法如下:
Syntax: allow address | CIDR | unix: | all;
default:默认无
Context:http,server,location,limit_except

Syntax: deny address | CIDR | unix: | all;
default:默认无
Context:http,server,location,limit_except

环境:

准备工作

服务端:

安装并启动nginx,创建网站发布目录和网页测试内容
在这里插入图片描述
编写子配置文件

重新加载配置文件

客户端:
在这里插入图片描述
在不做访问控制的时候,两台客户端都能访问服务端

案例一:

服务端:
设置访问控制:先拒绝192.168.58.162客户端,再允许其他任何客户端。
在这里插入图片描述
客户端:
在这里插入图片描述

案例二:

服务端:
在案例一的基础上将allow all注释掉
在这里插入图片描述
客户端:
在这里插入图片描述
与案例一验证结果相同,说明在使用deny拒绝某些ip后,允许其他所有客户端访问的情况下,无论写还是不写allow all,效果都一样,即这种情况下allow all是默认的。

案例三:

服务端:
在这里插入图片描述
客户端:
在这里插入图片描述
deny all:都不允许访问

案例四:

服务端:
在这里插入图片描述

客户端:
在这里插入图片描述
两个客户端都能访问到,说明在先允许所有,在拒绝某个的情况下,拒绝失效

案例五:

服务端:
在这里插入图片描述
客户端:
在这里插入图片描述

案例六:

服务端:
在这里插入图片描述

客户端:
在这里插入图片描述
两个客户端都能访问到,说明在先允许所有,在拒绝某个的情况下,拒绝失效

总结

1.拒绝所有,允许某一个,允许不生效
2.允许所有,拒绝某一个,拒绝不生效

使用情况

先写被拒绝的人,ip 或者 网段 被添加到了黑名单,剩下的都允许 在白名单内

二、基于用户的信任登录

1、nginx基于用户的信任登录模块:http_auth_basic_module
2、配置语法
Syntax: auth_basic string | off;
Default: auth_basic off;
Context:http,server,location,limit_except

Syntax: auth_basic_user_file file;
default:默认无
Context:http,server,location,limit_except
file:存储用户名密码信息的文件。

案例

准备工作:
在这里插入图片描述

用户的信任登录配置:
1、修改配置文件

2、安装httpd-tools工具
 htpasswd 是开源 http 服务器 apache httpd 的一个命令工具,用于生成 http 基本认证的密码文件

3、添加信任用户

4、验证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

局限性
(1)用户信息依赖文件方式
(2)操作管理机械,效率低下

解决方法
(1)Nginx结合LUA实现高效验证
(2)Nginx和LDAP打通,利用nginx-auth-ldap模块
(3)Nginx只做中间代理,具体认证交给应用。

举报

相关推荐

0 条评论