在 Nginx 中配置 Basic 认证(基本认证)可以通过使用 auth_basic 和 auth_basic_user_file 指令来实现。基本认证是一个 HTTP 协议中的认证机制,它要求客户端在访问受保护的资源时提供用户名和密码。
首先,您需要创建一个包含用户名和密码的文件。常用的工具是 htpasswd
,它可以在 Apache 或 Nginx 上生成加密后的密码。
安装 htpasswd
工具
bashdnf install httpd-tools
使用 htpasswd 工具来创建和管理密码文件。假设要创建一个文件 /etc/nginx/.htpasswd,并为用户名 user 设置密码:
bashsudo htpasswd -c /etc/nginx/.htpasswd user
执行该命令时,它会提示您输入并确认密码。如果 .htpasswd 文件已存在,去掉 -c 参数以避免覆盖原文件。
编辑您希望启用 Basic 认证的 Nginx 配置文件。例如,编辑 /etc/nginx/nginx.conf 或者对应站点的配置文件(如 /etc/nginx/sites-available/default)。
在 server 或 location 块中添加以下内容:
nginxserver { listen 80; server_name example.com; location /protected/ { # 启用 Basic 认证 auth_basic "Restricted Area"; # 认证提示的文本,可以根据需要自定义 auth_basic_user_file /etc/nginx/.htpasswd; # 密码文件的路径 } # 其他配置 }
bash#测试配置文件是否有错误
[root@DESKTOP-4QQA2BH ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#重启
systemctl restart nginx
本文作者:anoxia
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!