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

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

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/268117.html

(0)
上一篇 2022年6月19日
下一篇 2022年6月19日

相关推荐

发表回复

登录后才能评论