Nginx网站加密验证
Published on 2016 - 07 - 03
使用Nginx加密主页或者某些页面
编辑虚拟主机配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下语句,将虚拟主机的配置文件指向www.richge.com
include /usr/local/nginx/server/www.richge.com;
[root@localhost ~]# vim /usr/local/nginx/server/www.richge.com
server {
listen 80; //监听端口为80
server_name www.richge.com; //虚拟主机网址
location / {
root sites/www; //虚拟主机网站根目录
index index.html index.htm; //虚拟主机首页
auth_basic "secret"; //虚拟主机认证命名
auth_basic_user_file /usr/local/nginx/passwd.db; //虚拟主机用户名密码认证数据库
}
location /status {
stub_status on; //开启网站监控状态
access_log /usr/local/nginx/logs/access.log; //监控日志
auth_basic "NginxStatus"; }
}
通过htpasswd命令生成用户名及对应密码数据库文件
[root@localhost server]# htpasswd -c /usr/local/nginx/passwd.db rich //创建认证信息,rich 为认证用户名
New password: ******* //输入认证密码
Re-type new password: ******** //再次输入认证密码
Adding password for user rich
[root@localhost server]#
[root@localhost ~]# chmod 400 /usr/local/nginx/passwd.db //修改网站认证数据库权限
[root@localhost ~]# chown nginx. /usr/local/nginx/passwd.db //修改网站认证数据库属主和属组
[root@localhost ~]# cat /usr/local/nginx/passwd.db //可以看到通过htpasswd生成的密码为加密格式
rich:8eZAz7BqcrXmY
[root@localhost ~]#
重启Nginx
完成
htpasswd 添加账户
htpasswd /usr/local/nginx/passwd.db rich
New password: ******* //输入认证密码
Re-type new password: ******** //再次输入认证密码