前言

由于微信占用手机内存越来越多,所以前段时间将微信聊天记录导出为了html(如下图),并且放在了服务器上方便自己查看。但是如果没有密码其他人可能也会看到,自己又不会写前端页面,于是就用nginx设置访问密码功能。

nginx_pwd_1.jpg

设置步骤

nginx为我们提供了 ngx_http_auth_basic_module 模块,该模块可以让我们自己实现对Web内容的访问能控制,访问用户必须输入正确的用户名和密码后才能进行访问。

安装

yum install -y httpd-tools

设置用户名密码

htpasswd 安装成功后,就可以设置用户名和密码,通过如下命令进行设置

htpasswd -cb /etc/nginx/htpasswd mynginx 123456

以上命令的含义是在 /etc/nginx 目录下生成密码文件,并生成用户名为 mynginx,密码为123456 的用户信息。

htpasswd参数

-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.

-n 不更新passwordfile,直接显示密码

-m 使用MD5加密(默认)

-d 使用CRYPT加密(默认)

-p 使用普通文本格式的密码

-s 使用SHA加密

-b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互

-D 删除指定的用户

nginx配置

在server代码块中添加如下配置

server {
        listen 8080 ssl;
        server_name vvhz.com;
        ## 文件上传大小设置
        client_max_body_size 100m;
        ## nginx密码配置
        auth_basic "请输入密码";
        auth_basic_user_file /etc/nginx/htpasswd;
        ## ssl证书配置
        ssl_certificate /home/soft/nginx/cert/vvhz.com/vvhz.com_bundle.crt;
        ssl_certificate_key /home/soft/nginx/cert/vvhz.com/vvhz.com.key;
    location / {
        root /home/nginx/web/html/;
        index index.html;
    }
}

保存退出,重新启动Nginx,此时访问比必须输入正确的用户名和密码才能访问。

文章作者: 黄振
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 黄振的博客
Nginx Util
喜欢就支持一下吧