Nginx安全认证-nginx如何设置用户名和密码认证进行web访问 – 21运维
通知: .-...

Nginx安全认证-nginx如何设置用户名和密码认证进行web访问

linux 21运维 7429浏览 0评论

考虑到安全问题或其他因素,有可能要进行一次过滤访问,包括限制IP、定向IP、设置认证访问等等,这里简单记录下Nginx设置用户名和密码认证进行web访问。
1,生成验证用户名和密码。

[root@21yunwei vhost]# yum install  httpd-tools -y  //安装工具,比如设置认证的工具htpasswd就包含在内。
[root@21yunwei vhost]# htpasswd -c /usr/local/nginx/passwd.db 21yunwei  //创建web认证账号,21yunwei为用户名 
New password: *******  //认证密码
Re-type new password: ********  //再次确认认证密码 
Adding password for user 21yunwei 
[root@21yunwei vhost]# chmod 400 /usr/local/nginx/passwd.db  //安全相关,看个人需求,不做一样可以用。
[root@21yunwei vhost]# chown nginx.nginx  /usr/local/nginx/passwd.db  //安全相关,看个人需求,不做一样可以用。

2,设置站点配置文件。
在nginx.conf的server或单独站点配置文件的server中(比如绑定域名代码下方)添加如下代码:

        auth_basic "secret";
        auth_basic_user_file /usr/local/nginx/passwd.db;

reload nginx,测试web访问。

1

转载请注明:21运维 » Nginx安全认证-nginx如何设置用户名和密码认证进行web访问

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 这玩意儿存在一个BUG ,密码里面只要包含了正确密码就可以登录,比如密码设置的是abcd123 然后输入abcd123456也是OK的
    菜鸟运维2016-12-15 17:16 回复
    • 确实,我试了下果然是这个问题。就跟搞kvm时候,使用vnc密码的bug一样。
      21运维2016-12-15 18:46 回复
      • 其实是这样的:只对你输入明文密码的前8位加密,所以前面的8位密码能对上就可以认证通过。你在密码的最前面加上错误的字符,验证就不能通过。 from : 运维社区
        loner2016-12-16 11:10 回复
        • 是这样,vnc之前搞的时候也是这个问题,只有前八位有效
          21运维2016-12-16 11:46