Nginx 配置密码认证
使用 Nginx 时,需要为部分站点添加密码认证,本文介绍如何配置。
# Nginx 密码认证场景
- 一些非公开的页面,只想给特定的用户访问,但是又不想写权限控制
- 临时需要请求线上的调试接口,但是这些接口不能直接暴露
# Nginx 启用密码认证
- 安装一个生成账号密码的小工具
yum install httpd-tools
1
- 生成一个账号密码
htpasswd -bc 生成账号密码文件路径 账号名 密码
1
如:
htpasswd -bc /tmp/user.db admin 123456
# 示例
htpasswd -c /data/github.com/ady/configs.ady.cn/etc/tengine/tengine-passwd x
New password:
Re-type new password:
Adding password for user x
1
2
3
4
5
6
7
2
3
4
5
6
7
- 在 nginx 配置启用密码认证
location / {
root /usr/share/nginx/html;
index index.html index.htm;
auth_basic "Personal notes, do not consciously bypass"; # 这里是提示信息
auth_basic_user_file /var/local/jekyll-docker/user.db; # 这里填写刚才生成的文件路径
}
try_files $uri $uri.html $uri/ =404;
location ~ ^/bk/ {
auth_basic "Please input password";
auth_basic_user_file /data/github.com/ady/configs.ady.cn/etc/tengine/tengine-passwd;
root /data/github.com/ady/docs.ady.cn/public/;
index index.html index.htm;
include /etc/tengine/conf.d/proxy.conf;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 重新加载配置文件
nginx -s reload
1
# 如何退出验证
登录凭证并不是放在 cookie 而是在 header(字段是 Authorization)。所以重新打开浏览器的时候就需要重新登录了。
编辑 (opens new window)
上次更新: 2024/04/19, 08:52:45
- 01
- idea 热部署插件 JRebel 安装及破解,不生效问题解决04-10
- 02
- spark中代码的执行位置(Driver or Executer)12-12
- 03
- 大数据技术之 SparkStreaming12-12