栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

Nginx访问控制

文章目录
      • Nginx访问控制
        • 一、基于IP的访问控制
          • 准备工作
          • 案例一:
          • 案例二:
          • 案例三:
          • 案例四:
          • 案例五:
          • 案例六:
          • 总结
        • 二、基于用户的信任登录
          • 案例

一、基于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

环境:

三台虚拟机:
虚拟机1:nginx服务端。完成访问控制配置。
虚拟机2、虚拟机3:客户端。对访问控制进行验证

准备工作

服务端:

安装并启动nginx,创建网站发布目录和网页测试内容

编写子配置文件

[root@localhost conf.d]# vim /etc/nginx/conf.d/web.conf

重新加载配置文件

[root@localhost conf.d]# nginx -s reload

客户端:

在不做访问控制的时候,两台客户端都能访问服务端

案例一:

服务端:
设置访问控制:先拒绝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、修改配置文件

[root@localhost conf.d]# vim /etc/nginx/conf.d/auth.conf

auth_basic不为off,开启登录验证功能,auth_basic_user_file加载账号密码文件。

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

[root@localhost conf.d]# yum -y install httpd-tools

3、添加信任用户

[root@localhost conf.d]# htpasswd -cm /etc/nginx/auth_conf zy

4、验证


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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号