zoukankan      html  css  js  c++  java
  • 如何在nginx下实现访问web网站密码认证保护的功能

    在某些特定的环境下,我们希望nginx下的web站点在访问时需要用户输入账户密码才能访问。以便拒绝那些不速之客。

    其实,配置起来也很简单,按照下面的步骤即可实现。

    一、编辑虚拟主机配置文件。

    server { 
         listen       80;  //监听端口为80 
         server_name  www.abc.com;  //虚拟主机网址 
         location / { 
                root   sites/www1;  //虚拟主机网站根目录 
                index  index.html index.htm;  //虚拟主机首页 
                auth_basic "secret";  //虚拟主机认证命名 
                auth_basic_user_file /usr/local/nginx/passwd.db; //虚拟主机用户名密码认证数据库 
          } 
          #省略其他配置
          ....
    }

    二、通过htpasswd命令生成用户名及对应密码数据库文件。

    [root@localhost /]#mkdir /usr/local/nginx
    [root@localhost /]#vi /usr/local/nginx/passwd.db
    [root@localhost /]# htpasswd -c /usr/local/nginx/passwd.db admin  //创建认证信息,admin 为认证用户名 
    New password: *******  //输入认证密码 
    Re-type new password: ********  //再次输入认证密码 
    Adding password for user admin 
    [root@localhost /]# chmod 400 /usr/local/nginx/passwd.db      //修改网站认证数据库权限 
    [root@localhost /]# chown nginx.  /usr/local/nginx/passwd.db  //修改网站认证数据库属主和属组
    [root@localhost /]# cat /usr/local/nginx/passwd.db            //可以看到通过htpasswd生成的密码为加密格式
    admin:x/J1o94NgIV2k

    三、重新启动nginx即可生效。

    service nginx reload

    通过上面的三个步骤即可完成在nginx下实现访问web网站密码认证保护的功能。

  • 相关阅读:
    viewController 不响应横竖屏转换相关消息的问题
    nsset排序
    内存相关
    技巧
    IOSTip
    iphone 资源
    IPhone 开发经验教训总结 仅供参考 (转载)
    WIN7控制面板假死
    Firefox添加web浏览端口:此地址使用了一个通常应该用于其他网页浏览的端口
    【WordPress】WXR version error when import into wordpress
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/11529363.html
Copyright © 2011-2022 走看看