nginx简易实现权限登录

本文介绍了如何利用Nginx的ngx_http_auth_basic_module模块,简单快速地搭建一个基础的权限登录系统。首先在Centos上安装httpd-tools,然后创建用户和密码文件,最后配置Nginx以实现访问控制。通过这个方法,访问者必须提供正确的用户名和密码才能访问web内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出于对系统安全性的要求,都要求我们生产环境部署的系统需要做一定的权限控制。那么如何简单快速地部署满足安全要求的权限系统呢?其实可以通过nginx的相关功能模块实现。
nginx实现权限登录的功能模块是:ngx_http_auth_basic_module。访问者只有输入正确的用户密码才允许访问web内容。

实现效果

可以看到图片仅仅只是一个简单的登录页面,需要输入用户名/密码,如果需要更为美观的UI和更加完善的验证码等功能,请绕行哈。
在这里插入图片描述

1、Centos安装httpd-tools

这里使用的是强制安装,避免因为缺少部分无关紧要的依赖而导致无法正常安装。高于该版本的安装包也是可以的

rpm -ivh httpd-tools-2.4.6-88.el7.centos.x86_64.rpm --nodeps --force

2、创建用户并设置密码到指定文件

执行如下指令后需要输入自定义用户的密码。执行的效果是生成用户/密码信息保存到文件/etc/apache2/.htpasswd。该文件在后续nginx配置中会用到。

htpasswd /etc/apache2/.htpasswd user2

生成结果文件:

[root@nginx1 home]# ls /etc/apache2/.htpasswd
/etc/apache2/.htpasswd
[root@nginx1 home]# cat /etc/apache2/.htpasswd
use2:$apr1$BZgL9LH0$DElkLxtAjMUetgX1Y82Da0

3、配置nginx

server {
    listen 80;
    server_name ui.test.com; #配置通过域名的方式访问
    location / {
        proxy_pass http://127.0.0.1:8080/;
    }
    auth_basic "Administrator's Area"; 
    auth_basic_user_file /etc/apache2/.htpasswd;#引用用户配置文件
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值