在 Nginx 中,http_auth_basic_module 模块实现访问必须输入用户名和密码,在用户名和密码正确的情况下才可以访问,这为我们一些重要资源访问增添了一道安全锁。
auth_basic string | off;
auth_basic off;
http, server, location, limit_except
这里的 string 是会在网页提示的信息。
auth_basic_user_file file;
http, server, location, limit_except
这里的 file 是存储的用户名和密码的信息,这里的 file 的文件格式如下:
name1:password1
name2:password2:comment
name3:password3
该文件,可以通过 htpasswd 工具生成。
我们首先,使用 htpasswd 工具,生成一个密码认证的文件,具体命令如下:
htpasswd -c /etc/nginx/auth_conf haicoder
这里的 haicoder 就是认证的用户名,生成完毕后,如下图所示:
现在,我们使用 ls 命令,查看生成文件,执行完毕后,如下图所示:
我们看到,密码认证文件已经存在了,现在,我们使用 vim 打开 nginx 的默认配置路径,具体命令如下:
vim /etc/nginx/conf.d/default.conf
我们执行如上命令,打开配置文件,接着,我们在 server 下面增加一个 location 配置,具体配置如下:
location / { root /opt/app/code; index index.html index.htm;}location ~ ^/haicoder.html { root /opt/app/code; auth_basic "Pls input your password!"; auth_basic_user_file /etc/nginx/auth_conf; index index.html;}
配置完毕后,如下图所示:
现在,我们重新加载配置文件,具体命令如下:
nginx -s reload
现在,我们使用浏览器访问 nginx,浏览器输出如下:
我们看到,我们的配置已经生效了,我们现在的访问,需要我们输入用户名和密码了,现在,我们输入正确的用户名和密码,此时浏览器输出如下:
我们看到,可以正常访问了。
在 Nginx 中,http_auth_basic_module 模块实现访问必须输入用户名和密码,在用户名和密码正确的情况下才可以访问,这为我们一些重要资源访问增添了一道安全锁。