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
相关指令
auth_basic
:值为string | off
;配置段为:http, server, location, limit_except
;默认表示不开启认证功能,后面如果跟上字符串,改字符创将在认证弹框中显示auth_basic_user_file
:值为密码文件的路径;配置段为:http, server, location, limit_except
;
配置
-
首先生成认证文件,生成对应的账号密码
在nginx安装目录下的conf文件夹中创建
htpasswd
文件,并设置其访问的账号密码,格式为:username:password
-
在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; } }
-
配置完成后重新加载配置文件,让其配置生效
nginx -s reload
验证
配置重启完成后,访问配置的地址:http://localhost:88
,会让你输入相关的账号密码;弹出如下图所示:
如果输入账号密码错误,则不允许访问;输入正确则可正常访问改地址下的内容
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/268117.html