zoukankan      html  css  js  c++  java
  • Nginx 使用 http auth basic 认证

    使用 nginx 作为前端服务器。某些资源要保护。用 http auth basic 认证简单方便。
    nginx 的 http auth basic 的密码是用 crypt(3) 加密的。具体可以参考:http://wiki.nginx.org/HttpAuthBasicModule

    以我们做一个简单的后台管理为例, 地址:http://xxxx/admin/*, 对admin 下面的文件进行权限管理;

    1. 进入ngnix配置的地址,以我的ubuntu为例;  cd /etc/ngnix 

    2. 使用命令生成passfile 文件: htpasswd -c -d /etc/nginx/pass_file  username

       a. 输入以上命令,回车输入密码,再次回车,输入确认密码 

    3. 检查pass_file是否已经存在 /etc/ngnix/pass_file

    4. 修改ngnix 配置


    location ~ /admin {
            auth_basic "Restricted";
            auth_basic_user_file /etc/nginx/pass_file;//请使用绝对路径
            root   /home/www/admin; //host 地址,不然认证通过之后,找不到对应的文件
    }  
    5. 重启ngnix ,sudo service ngnix reload;

    6. 登录 http://xxxx/admin/*,弹出验证框,说明验证配置完成

    如果admin中有php,就会发现 php url不能正常的解析,我们需要重新配置,配置如下:

    location ~ /admin { 

    auth_basic "Restricted";
            auth_basic_user_file /etc/nginx/pass_file;//请使用绝对路径
            root   /home/www/admin; //host 地址,不然认证通过之后,找不到对应的文件
    if ($request_filename ~* .php)
            {
             fastcgi_pass   127.0.0.1:9000;
         }//下面的文件不能放在括号中,否则会报错
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/www/admin$fastcgi_script_name;//路径同root
            include fastcgi_params;

    }  

     修改配置,重启ngnix即可,php文件显示正常

  • 相关阅读:
    while练习
    运算符
    作业
    [新手必看] 17个常见的Python运行时错误
    作业
    day04
    作业
    算法模板——线段树2(区间加+区间乘+区间求和)
    1798: [Ahoi2009]Seq 维护序列seq
    1708: [Usaco2007 Oct]Money奶牛的硬币
  • 原文地址:https://www.cnblogs.com/stormlly/p/2244533.html
Copyright © 2011-2022 走看看