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/ 就会提示输入用户名和密码

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

首先查找你系统上的htpasswd

代码如下:

find / –name htpasswd

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

代码如下:

/usr/bin/htpasswd

如果没找到那就自行安装

代码如下:

yum install apache

文件地址

代码如下:

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

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

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

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

代码如下:

location /admin/ {
auth_basic “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 “Auth.”;
auth_basic_user_file /usr/local/ngnix/conf/authdb;
}

我要评论!

想一个你喜欢的昵称。
给一个你的常用邮箱。
想和萌萌哒的TA们说点啥。
  • 一个躺在床上的本本…… 笔记本小巧方便对于有笔记本电脑的朋友来说,肯定喜欢躺在床上使用笔记本悠闲的玩玩游戏或者是看看电影、听听音乐。但是就在你这样使用电脑的时候,你的笔记本也在慢慢的遭受着损耗。小编在这里向大家介绍几点在床上使用笔记本的注意事项,帮你解除后顾之忧。 第一,在床上使用笔记本电脑不要硬拉...
  • 背景信息: Gitlab Wiki API 是一组用于对Gitlab项目Wiki页面进行创建、编辑、列表、删除等功能的接口。 漏洞描述: 该API在处理外部输入时未做有效过滤,导致攻击者构造特定的恶意请求,可以在目标服务器上执行任意代码命令。 漏洞定级: 高危 漏洞影响范围: Gitlab CE/E...
  • 大家都知道win10自带.net 4,在.net3.5下开发的软件无法运行,会提示需要安装.net3.5联网更新又太麻烦。 是否可以离线安装? 其实是可以的,我们只需一个命令就可以实现离线安装。前提我们要有win10的光盘镜像,直接打开win10镜像你会发现镜像会默认被加载为光驱了。 然后我们win...
  • 一般情况下CPU占了100%的话我们的电脑总会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。 一、原因分析 1. 当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较高的比例,如果是某个大程序那还可以原谅,在 关闭该程序后只要CPU正常了那就...
  • 在Windows使用的过程中可能因为某些情况,产生了一些类似“aa ”、“bb .”之类的,我们在删除时是无法正常删除的,那么该怎么办? 示例: 在C盘下有文件夹“test .”,用普通方法是不行的。我们将利用CMD下的DOS环境操作删除。 执行: rd /s /q “C:\test ....
微信扫一扫即可带走我!