zoukankan      html  css  js  c++  java
  • Nginx用户认证配置方法详解(域名/目录)

    Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可

    Nginx可以为某一个域名单独加用户认证,具体做法如下:

    1. 生成用户认证的用户名和密码:

    #wget -c soft.vpser.net/lnmp/ext/htpasswd.sh;bash htpasswd.sh

    根据提示输入:

    用户名:
    密码:
    文件名:

    脚本会自动生成认证文件,auth.conf内容如下:

    /usr/local/nginx/conf/auth.conf

    2. 为Nginx添加auth认证配置

    下面以某域名下面的auth目录为例,在域名的server段里加上如下代码:

    location ^~ /auth/ {

    location ~ .*.(php|php5)?$ {
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fcgi.conf;
    }
    auth_basic "Authorized users only";
    auth_basic_user_file /usr/local/nginx/conf/auth.conf
    }

    auth_basic_user_file 为htpasswd文件的路径

    3. 重启Nginx

    访问http://yourdomainname/auth/ 就会提示输入用户名和密码。


    如果我们只想为目录增加用户认证上面方法显示不行,下面我来介绍具体目录用户认证

    为目录增加用户认证( auth basic)

    nginx的auth_basic认证采用与apache兼容的密码文件,因此我们需要通过apache的htpasswd生成密码文件。

    首先查找你系统上的htpasswd

    find / –name htpasswd

    一般CentOS都会装apache的,位置在:

    /usr/bin/htpasswd

    如果没找到那就自行安装

    yum install apache

    并找到htpasswd文件地址。

    找到htpasswd文件后,我们来创建一个用户,比如这个用户叫:xiaoquan

    /usr/bin/htpasswd –c /usr/local/ngnix/conf/authdb xiaoquan

    上面的命令在nginx的配置文件目录创建了用户为xiaoquan的authdb密码文件,当然你也可以创建的在其他地方,此处nginx配置文件使用比较方便。

    上面的命令输入回车后会得到提示输入密码的提示信息,输入两次,即可添加成功。

    接着修改nginx的配置文件,在某个需要加auth_basic的server配置下添加如下内容

    location /admin/ {

    auth_basic "QuanLei Auth.";
    auth_basic_user_file /usr/local/ngnix/conf/authdb;
    }

    最后让nginx使用最新的配置:

    /usr/local/ngnix/sbin/nginx -s reload

     补充一下,如果你使用了集群环境,那么还需要加Proxy_Pass:

    location /admin/ {

    proxy_pass http://cluster/mgmt/;
    auth_basic "QuanLei Auth.";
    auth_basic_user_file /usr/local/ngnix/conf/authdb;
    }

  • 相关阅读:
    还在使用golang 的map 做Json编码么?
    Golang 性能测试(2) 性能分析
    golang 性能测试 (1) 基准性能测试
    消息队列 NSQ 源码学习笔记 (五)
    消息队列 NSQ 源码学习笔记 (四)
    消息队列 NSQ 源码学习笔记 (三)
    消息队列 NSQ 源码学习笔记 (二)
    消息队列 NSQ 源码学习笔记 (一)
    你不知道的空格
    Supervisor 使用和进阶4 (Event 的使用)
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3258820.html
Copyright © 2011-2022 走看看