Nginx访问控制详细讲解

前言

本篇博客主要是分享,访问控制的基本方式、配置语法、相关组件的配置


访问控制的基本方式

  • 基于IP的访问控制
    http_access_module
  • 基于用户的信任登录
    http_auth_basic_module

access_module配置

  • 语法
    【允许访问:】
    Nginx访问控制详细讲解
    【不允许访问:】
    Nginx访问控制详细讲解
  • 进入当前目录
    Nginx访问控制详细讲解
  • 修改一下配置文件名称
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 语法检测
    Nginx访问控制详细讲解
  • 重新加载配置文件
    Nginx访问控制详细讲解
  • 测试
    Nginx访问控制详细讲解
  • 进行访问控制的配置
    修改配置文件:
    Nginx访问控制详细讲解
  • 语法检测
    Nginx访问控制详细讲解
  • 重新加载配置文件
    Nginx访问控制详细讲解
  • 测试:
    Nginx访问控制详细讲解
  • 更换代理再次进行访问

Nginx访问控制详细讲解
Nginx访问控制详细讲解

  • 修改只允许我自己IP进行访问,其他IP不能访问
    修改配置文件
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 检测语法:
    Nginx访问控制详细讲解
  • 重新加载
    Nginx访问控制详细讲解
  • 测试
    Nginx访问控制详细讲解
  • 开启代理,换成其他的IP地址进行访问
    Nginx访问控制详细讲解

access_module局限性

  • http_access_module局限性
    只能通过$remote_addr控制信任
    Nginx访问控制详细讲解
  • http_x_forwarded_for
    Nginx访问控制详细讲解
    通过上面两个图片,大概可以这样认为:
    1.采用别的HTTP头信息控制访问,如:HTTP_X_FORWARD_FOR
    2.结合geo模块作
    3.通过HTTP自定义变量传递

auth_basic_module配置

http_auth_basic_module

  • 语法
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 查阅官网
    http://nginx.org/en/docs/
    Nginx访问控制详细讲解
    存放密码文件,按照官方的格式
    Nginx访问控制详细讲解
  • 在服务器上面进行安装工具
    Nginx访问控制详细讲解
  • 配置信息登录
    首先改配置文件的名称,其实改不改都可以
    Nginx访问控制详细讲解
  • 修改我们的配置文件
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 生成密码文件:
    第一次:
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 查看
    Nginx访问控制详细讲解
  • 修改配置文件
    Nginx访问控制详细讲解
    Nginx访问控制详细讲解
  • 完整配置文件:
    Nginx访问控制详细讲解
  • 语法检测
    Nginx访问控制详细讲解
  • 重新加载配置文件
    Nginx访问控制详细讲解
  • 浏览器访问:
    Nginx访问控制详细讲解
  • 输入正确的用户名密码
    Nginx访问控制详细讲解
    通过上面的方式展示,主要存在一定的局限性
    1.用户信息依赖文件方式
    2.操作管理机械,效率低下

小结:

其实在项目开发中,使用比较多的是,
1.Nginx结合LUA实现高效验证,
2.Nginx 和LDAP打通,利用nginx-auth-ldap模块