nginx 实现基于basic用户认证机制

2019-12-20 16:58:54 浏览数 (2)

实现基于用户的访问控制,使用basic机制进行用户认证

在配置文件添加如下几行配置

相关模块ngx_http_access_module

代码语言:javascript复制
server {
        listen 80;
        root /nginx/html/;
        location /admin/ {
                auth_basic "admin Area";
                auth_basic_user_file /etc/nginx/.ngxpasswd;
                allow 192.168.68.7;
                deny all;
        }
    }

注意:在/nginx/html目录下必须要有admin这个目录

指令解析

  • auth_basic "Admin Area 设置提示语
  • auth_basic_user_file file 指定用户名口令文件路径
  • allow 192.168.68.7 设置允许访问的主机,也可是一个网段,如:192.168.68.0/24
  • deny all 设置拒绝访问的主机或网段端all表示全部

创建存放用户名密码的文件

安装httpd-tools

代码语言:javascript复制
rpm -ql httpd-tools

在Ubuntu中可能apt找不到httpd-tools,可以安装apache2-utils,也有此工具

代码语言:javascript复制
sudo apt install apache2-utils

创建用户

代码语言:javascript复制
htpasswd -cm /etc/nginx/.ngxpasswd ngx1

注意:再创建其他用户不能加c选项,c选项会重新创建该文件.

文件安全

代码语言:javascript复制
chmod 600 /etc/nginx/.ngxpasswd

原文

https://blog.51cto.com/13598893/2089770

0 人点赞