井底圈小蛙
关注科技圈

Nginx配置Basic Authentication认证

某些Web服务默认没有开发身份验证机制,开放在互联网,只需要URL、IP或端口,就可以直接连接,很容易被扫描工具探测到,导致数据泄露。

在Web服务前端添加Nginx反向代理,并使用Nginx内置的基本身份验证机制来验证身份,可以有效增强Web服务的安全性,避免不必要的信息泄露。

创建.htpasswd认证文件

安装apache2-utils套件

sudo apt install apache2-utils

创建认证文件,-c是创建新的文件,接着按照提示输入user1的密码

sudo htpasswd -c /etc/nginx/.htpasswd user1

也可以直接在命令中输入密码,加上-b参数

sudo htpasswd -cb /etc/nginx/.htpasswd user1 password

添加额外的用户

sudo htpasswd /etc/nginx/.htpasswd user2

修改Nginx配置文件

在要加认证的location路径中,增加auth_basic配置,配置认证文件auth_basic_user_file

location /admin {
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}

auth_basic也可以配置在整个server下面,如果某个location路径不需要认证,增加auth_basic:off即可

server {
…
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpasswd;
location /public/ {
    auth_basic off;
}
}

Basic Authentication与IP认证相结合

结合satisfy指令,如果设置为all,则需要满足所有条件才可以访问,如果设置为any,则ip认证和basic auth认证满足其中一个即可。

location /admin {
#…
satisfy all;
deny  192.168.1.2;
allow 192.168.1.1/24;
allow 127.0.0.1;
deny  all;
auth_basic           "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}

应用设置

nginx -t && systemctl reload nginx
圈小蛙现已开通Telegram。单击此处加入我们的频道 (@quanxiaowa)并随时了解最新科技圈动态!

除特别注明外,本站所有文章均系根据各大境内外消息渠道原创,转载请注明出处。
文章名称:《Nginx配置Basic Authentication认证》
文章链接:https://www.qxwa.com/configuring-basic-authentication-in-nginx.html
分享到: 生成海报

评论 抢沙发

科技圈动态,尽在圈小蛙

联系我们关注我们