环境说明
- 基于Ubuntu18.04
- 已安装nginx 1.13.7
步骤
1、安装密码生成工具
apt install apache2-utils
2、生成密码
htpasswd -c /usr/local/nginx/password username
# 回车后输入密码
# -c 创建一个加密文件
enter后会出现两次录入密码:
可以看看生成的加密密码:
如果要修改密码,或者删除密码,请参考下面操作
-
删除用户和密码
htpasswd -D /usr/local/nginx/password username # -D 删除指定的用户
-
修改用户和密码
htpasswd -D /usr/local/nginx/password username htpasswd -b /usr/local/nginx/password username pass # -D 删除指定的用户 # -b htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码 # -p htpassswd命令不对密码进行进行加密,即明文密码
3、配置Nginx认证
找到nginx配置文件:/usr/local/nginx/conf/nginx.conf
在需要验证的location中添加秘钥位置:
auth_basic "请输入用户和密码"; # 验证时的提示信息
auth_basic_user_file /usr/local/nginx/password; # 认证文件
需要整个nginx服务都需要认证就在server层级添加:
auth_basic "请输入用户和密码"; # 验证时的提示信息
auth_basic_user_file /usr/local/nginx/password; # 认证文件
重启nginx
sbin/nginx -s reload