Nginx访问控制详细讲解
前言
本篇博客主要是分享,访问控制的基本方式、配置语法、相关组件的配置
访问控制的基本方式
- 基于IP的访问控制
http_access_module - 基于用户的信任登录
http_auth_basic_module
access_module配置
- 语法
【允许访问:】
【不允许访问:】
- 进入当前目录
- 修改一下配置文件名称
- 语法检测
- 重新加载配置文件
- 测试
- 进行访问控制的配置
修改配置文件:
- 语法检测
- 重新加载配置文件
- 测试:
- 更换代理再次进行访问
- 修改只允许我自己IP进行访问,其他IP不能访问
修改配置文件
- 检测语法:
- 重新加载
- 测试
- 开启代理,换成其他的IP地址进行访问
access_module局限性
- http_access_module局限性
只能通过$remote_addr控制信任
- http_x_forwarded_for
通过上面两个图片,大概可以这样认为:
1.采用别的HTTP头信息控制访问,如:HTTP_X_FORWARD_FOR
2.结合geo模块作
3.通过HTTP自定义变量传递
auth_basic_module配置
http_auth_basic_module
- 语法
- 查阅官网
http://nginx.org/en/docs/
存放密码文件,按照官方的格式
- 在服务器上面进行安装工具
- 配置信息登录
首先改配置文件的名称,其实改不改都可以
- 修改我们的配置文件
- 生成密码文件:
第一次:
- 查看
- 修改配置文件
- 完整配置文件:
- 语法检测
- 重新加载配置文件
- 浏览器访问:
- 输入正确的用户名密码
通过上面的方式展示,主要存在一定的局限性
1.用户信息依赖文件方式
2.操作管理机械,效率低下
小结:
其实在项目开发中,使用比较多的是,
1.Nginx结合LUA实现高效验证,
2.Nginx 和LDAP打通,利用nginx-auth-ldap模块