本文最后更新于 603 天前,其中的信息可能已经有所发展或是发生改变。
临时分享下文件可用,没有认证时间限制所以无法实现类似认证一次 6 小时后超时这种功能,每次访问页面或是 API 调用都需要验证。
官方文档:Restricting Access with HTTP Basic Authentication
1、安装 httpd-tools 模块以启用 htpasswd
yum -y install httpd-tools
2、配置用户信息
我这里储存用户账号密码的文件选在在 /etc/nginx/conf.d/ 下保存
cd /etc/nginx/conf.d/
htpasswd -c pass.db $username
输入密码:
New password: $password
Re-type new password: $password
确认一下是否添加成功,密码会被加密:
cat pass.db
3、修改 Nginx 配置文件
...
...
server {
listen 80;
server_name example.com;
# 强制跳转 HTTPS
location / {
# 认证
auth_basic "User Authentication";
auth_basic_user_file /etc/nginx/conf.d/pass.db;
# 301 跳转
return 301 https://$server_name$request_uri;
}
}
...
...
之后重启再访问页面就能看到:

结束。