nginx添加用户名密码认证
目录
以下内容抄袭于 https://www.himiku.com/archives/homepage.html
1 密码登录
- 如果要在公网使用,加个密码比较安心。需要在 Nginx 中配置。
- 首先,在电脑或服务器上打开终端,假设你的密码是
yourpassword
,输入以下命令:openssl passwd -apr1 "yourpassword"
会输出以下内容:$ openssl passwd -apr1 "yourpassword" $apr1$9najWLRB$G0mgXBerNnt2/7W3mH6t4/
- 在 nginx 配置中新建一个
basicauth
文件夹,在其中创建一个homepage.conf
文件,按user:password
的格式填入以下内容:admin:$apr1$9najWLRB$G0mgXBerNnt2/7W3mH6t4/
- 接着,在上述 Nginx 配置中的
location
段加入auth_basic_user_file
配置:
location / {
auth_basic_user_file basicauth/homepage.conf;
auth_basic "请登录!";
proxy_pass http://homepage:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_hide_header X-Powered-By;
proxy_set_header HOST $http_host;
}
- 重载 Nginx 即可生效。
- 需要注意的是
basicauth/homepage.conf
为相当路径,在我的nginx的默认配置下他的觉得路径是/etc/nginx/basicauth/homepage.conf
。你也可以在这里直接指定绝对路径。