微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx增加网页认证功能

Nginx增加网页认证功能

增加认证功能模块

ngx_http_auth_basic_module 模块实现让访问者,只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。Nginx的http auth模块以及Apache http auth都是很好的解决方案。

认情况下Nginx已经安装了ngx_http_auth_basic_module模块,如果不需要这个模块,可以加上 --without-http_auth_basic_module

相关指令

  1. auth_basic:值为 string | off;配置段为: http, server, location, limit_except认表示不开启认证功能,后面如果跟上字符串,改字符创将在认证弹框中显示
  2. auth_basic_user_file:值为密码文件的路径;配置段为: http, server, location, limit_except

配置

  1. 首先生成认证文件生成对应的账号密码

    Nginx安装目录下的conf文件夹中创建htpasswd文件,并设置其访问的账号密码,格式为:username:password

  2. Nginx配置某个访问需要通过认证才能访问

    server{
        listen       88;
        server_name  127.0.0.1;
    
    
    
        location / {
            auth_basic "admin auth"; #认证窗口显示的字符串
            auth_basic_user_file D:/BtSoft/Nginx/conf/htpasswd; #认证账号密码存放路径
            proxy_pass http://127.0.0.1:9999;
        }
    }
    
  3. 配置完成后重新加载配置文件,让其配置生效 Nginx -s reload

验证

配置重启完成后,访问配置的地址:http://localhost:88,会让你输入相关的账号密码;弹出如下图所示:

image

如果输入账号密码错误,则不允许访问;输入正确则可正常访问改地址下的内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐