使用nginx为网站添加身份验证-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用nginx为网站添加身份验证

寒喵 2018-12-29 18:13:48 1116
为了实现个人网站的私密访问,需要添加身份验证,即访问网站的时候要求输入用户名和密码,效果如下:
Chrome效果:


Firefox效果:


使用nginx为网站添加身份验证登陆只需两个步骤:
生成加密的验证信息文件
修改网站的nginx配置文件




一、生成密码文件
nginx用以验证登陆的密码是以文件形式储存的,但并非明文储存,而是通过加密的,我们可以用apache2-utils工具的htpasswd命令生成


1. 安装工具
apt-get update  
apt-get install apache2-utils

安装完毕即可使用htpasswd命令


2. 生成密码
生成.htpasswd文件,添加用户user,会要求输入密码两次:
(文件名、用户名、文件保存路径 均可以自行设置)
htpasswd -c /etc/nginx/.htpasswd user
若要添加多个用户,则去掉-c命令:
htpasswd /etc/nginx/.htpasswd another_user
查看已生成的密码文件cat /etc/nginx/.htpasswd ,格式为用户名:密码


二、添加验证


编辑网站配置文件,以 mt.2ci.xin 为例
vi /etc/nginx/conf.d/mt.2ci.xin.conf
在location / {...}句段添加:
auth_basic "Restricted Content";  #提示文字,任意输入  
auth_basic_user_file /etc/nginx/.htpasswd; #指向第一步生成的密码文件

重启nginx即可service nginx restart


Web App开发 应用服务中间件 nginx 数据安全/隐私保护
分享到
取消 提交回答
全部回答(0)

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程