配置 Nginx 输入用户名和密码才能访问

场景:一个外网访问地址,不希望对全部人可见,希望只有正确输入用户名、密码的人才能访问时,可以通过修改 Nginx 配置实现。

1. 检查 htpasswd 是否可用

我们会用到一个工具 htpasswd,主要用于对访问密码加密(注:千万不要直接存明文密码!!!),可使用以下命令检查是否已经安装:

sq@host01:~$ which htpasswd
/usr/bin/htpasswd

如果没有这个工具,需要先安装:

# Ubuntu
$ sudo apt-get install -y apache2-utils

# CentOS
$ yum -y install httpd-tools

2. 生成密钥文件

# /etc/nginx/.htpasswd 是生成的用户名、密码文件及存放路径。
# 根据自己的情况存放到一个合适位置,后面修改 Nginx 配置文件的时候会用到。
$ htpasswd -c /etc/nginx/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin

# 查看生成的文件内容如下
$ cat /etc/nginx/.htpasswd
admin:$apr1$pCPJOCsr$pyVB5i.K/CuUPHGeWm6XN1

3. 配置 Nginx 并重启

如下修改 Nginx 配置:

server {
  listen       80;
  server_name  demo.xxx.com; # 需要控制访问的域名
  location / {
    root   /data/wwwroot/demo;
    index  index.htm index.html;

    # ...
    auth_basic "Restricted"; # 弹窗上的提示信息(有些浏览器不显示)
    auth_basic_user_file /etc/nginx/.htpasswd; # 生成的用户名、密码文件
    # ...
  }
}

重启 Nginx,访问 demo.xxx.com 即可看到用户名、密码输入框。

本文转自 https://sqiang.net/post/2256713588.html,如有侵权,请联系删除。

版权声明:
作者:亦灵一梦
链接:https://blog.haokaikai.cn/2023/houduan/nginx/1191.html
来源:开心博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
配置 Nginx 输入用户名和密码才能访问
场景:一个外网访问地址,不希望对全部人可见,希望只有正确输入用户名、密码的人才能访问时,可以通过修改 Nginx 配置实现。 1. 检查 htpasswd 是否……
<<上一篇
下一篇>>
文章目录
关闭
目 录