Nginx Proxy Manager 配置账号密码访问

使用NPM替代传统的nginx来进行流量反代对于主要业务都使用docker运行的用户来说是一个很不错的选择,但是总有一些网站我们期望设一个门槛,只有自己或者拥有账号密码的人才能访问,有一部分应用本身就带有用户登录系统,但是仍然有很多简单的应用是不存在账号密码这套系统的,所以需要在nginx这里进行把关。

创建密钥文件

nginx设置密码认证中,密码需要是cypt认证的,可以使用 apachehtpasswd 来创建密码。

首先要进入到docker映射到npm中data目录的宿主文件夹,然后执行命令,命令中 nginx_passwd 是生成的密钥文件名,$username 和 $password 替换成你想要使用的账号名和密码。

cd $path_to_your_npm_docker_volume_data
htpasswd -b -c nginx_passwd $username $password

如果提示command not found ,就需要使用yum或者apt-get 来安装一下。

yum install htpasswd
apt-get install apache2-utils

正常的话,命令输出如下,会在当前路径生成nginx_passwd文件,这个文件里就是用户名以及密钥

#redults:
Adding password for user $username

Nginx Proxy Manager 配置

在proxy配置中的advance这一栏中输入以下两行:

auth_basic "input you user name and password";  
auth_basic_user_file  /data/nginx_passwd;

点击保存后重新进入网站,应该就能看到网站的提示输入账号密码的弹窗了