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