Nginx用户认证配置方法详解

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

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

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

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

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

根据提示输入:

用户名:
密码:
文件名:

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

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

2. 为Nginx添加auth认证配置

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

  1. location ^~ /auth/ { 
  2. location ~ .*.(php|php5)?$ { 
  3. fastcgi_pass unix:/tmp/php-cgi.sock; 
  4. fastcgi_index index.php; 
  5. include fcgi.conf; 
  6. auth_basic "Authorized users only"; 
  7. 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:

  1. find / –name htpasswd 

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

  1. /usr/bin/htpasswd 

如果没找到那就自行安装:

  1. yum install apache 

并找到htpasswd文件地址。

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

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

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

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

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

  1. location /admin/ { 
  2. auth_basic "QuanLei Auth."; 
  3. auth_basic_user_file /usr/local/ngnix/conf/authdb; 

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

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

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

  1. location /admin/ { 
  2. proxy_pass http://cluster/mgmt/; 
  3. auth_basic "QuanLei Auth."; 
  4. auth_basic_user_file /usr/local/ngnix/conf/authdb; 
责任编辑:黄丹 来源: 博客
相关推荐

2024-03-26 12:08:20

加密NginxHTTP

2023-04-10 08:11:27

Jenkins数据库

2020-04-09 13:23:29

Nginx配置文件模板

2014-04-04 10:16:51

Nginx配置Nginx性能优化

2009-12-03 18:46:06

Suse ftp配置

2020-04-15 20:57:57

NginxWeb服务器

2010-06-03 13:38:26

2011-09-14 10:11:35

Android 2.3

2021-04-08 10:08:45

NGINXNGINX认证

2010-10-13 09:21:39

2012-05-02 14:41:04

jQuery

2009-10-22 17:17:54

Oracle给用户解锁

2009-10-26 14:37:03

Oracle如何解锁用

2011-07-04 10:33:45

临时表空间排序

2018-08-21 08:49:53

Nginx服务器配置

2010-06-03 15:39:47

Hadoop配置

2010-09-16 15:33:48

Java环境变量

2010-05-28 19:35:33

Myeclipse下S

2024-01-15 16:46:35

Nginx服务器

2019-02-18 11:01:31

缓存Nginxuwsgi
点赞
收藏

51CTO技术栈公众号