开发者社区> 问答> 正文

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

为了实现个人网站的私密访问,需要添加身份验证,即访问网站的时候要求输入用户名和密码,效果如下:
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


展开
收起
寒喵 2018-12-29 18:13:48 2299 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载