Nginx 配置密码认证

发布时间: 更新时间: 总字数:322 阅读时间:1m 作者: 分享 复制网址
专栏文章
  1. Nginx 配置企业微信API正向代理到内网环境
  2. Nginx 代理 MySQL 端口
  3. Nginx proxy_pass 配置转发 / 路径问题
  4. Nginx 配置密码认证(当前)
  5. Nginx 配置 CPU 亲和性
  6. Nginx 配置 UDP/TCP/WebSocket 反向代理
  7. Nginx 配置目录文件列表显示功能
  8. Nginx 配置 gzip 压缩、缓存功能
  9. Nginx 配置端口转发

使用 Nginx 时,需要为部分站点添加密码认证,本文介绍如何配置。

Nginx 密码认证场景

  • 一些非公开的页面,只想给特定的用户访问,但是又不想写权限控制

  • 临时需要请求线上的调试接口,但是这些接口不能直接暴露

Nginx 启用密码认证

  • 安装一个生成账号密码的小工具
yum install httpd-tools
  • 生成一个账号密码
htpasswd -bc 生成账号密码文件路径 账号名 密码

如:

htpasswd -bc /tmp/user.db admin 123456

# 示例
htpasswd -c /data/github.com/xiexianbin/configs.xiexianbin.cn/etc/tengine/tengine-passwd x
New password:
Re-type new password:
Adding password for user x
  • 在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/xiexianbin/configs.xiexianbin.cn/etc/tengine/tengine-passwd;
    root      /data/github.com/xiexianbin/docs.xiexianbin.cn/public/;
    index     index.html index.htm;
    include   /etc/tengine/conf.d/proxy.conf;
}
  • 重新加载配置文件
nginx -s reload

如何退出验证

登录凭证并不是放在cookie而是在header(字段是Authorization)。所以重新打开浏览器的时候就需要重新登录了。

专栏文章
  1. Nginx 配置企业微信API正向代理到内网环境
  2. Nginx 代理 MySQL 端口
  3. Nginx proxy_pass 配置转发 / 路径问题
  4. Nginx 配置密码认证(当前)
  5. Nginx 配置 CPU 亲和性
  6. Nginx 配置 UDP/TCP/WebSocket 反向代理
  7. Nginx 配置目录文件列表显示功能
  8. Nginx 配置 gzip 压缩、缓存功能
  9. Nginx 配置端口转发
最新评论
加载中...
Home Archives Categories Tags Statistics