Nginx添加htpasswd认证
参考:
http://blog.csdn.net/longxibendi/article/details/23954017
http://tool.oschina.net/htpasswd
http://www.letuknowit.com/post/12.html
在Linux上编写脚本(注意权限,对脚本做了一些修改):
vi htpasswd.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo "====================================="
echo "# A tool like htpasswd for Nginx #"
echo "#-----------------------------------#"
echo "# Author:Licess http://blog.csdn.net/longxibendi #"
echo "====================================="
workdir="/nginx/user/conf"
#set UserName
username=""
read -p "Please input UserName:" username
if [ "$username" = "" ]; then
echo "Error:UserName can't be NULL!"
exit 1
fi
echo "==========================="
echo "UserName was: $username"
echo "==========================="
#set password
unpassword=""
read -p "Please input the Password:" unpassword
if [ "$unpassword" = "" ]; then
echo "Error:Password can't be NULL!"
exit 1
fi
echo "==========================="
echo "Password was: $unpassword"
echo "==========================="
password=$(perl -e 'print crypt($ARGV[0], "pwdsalt")' $unpassword)
#set htpasswd file
htfile=""
#read -p "Please input Auth filename:" htfile
if [ "$htfile" = "" ]; then
echo "Error:Auth filename can't be NULL!"
exit 1
fi
echo "==========================="
echo "Auth File: $workdir/$htfile"
echo "==========================="
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "Press any key to Creat...or Press Ctrl+c to cancel"
char=`get_char`
if [ ! -f $workdir/$htfile.conf ]; then
make -p $workdir/$htfile.conf
echo "Create Auth file......"
fi
cat >>$workdir/$htfile.conf<<eof
$username:$password
eof
echo "Create Auth file successful,auth file path:$workdir/$htfile.conf."
cat $workdir/$htfile.conf
生成用户名密码信息
./htpasswd.sh
修改Nginx.conf配置
添加如下内容:
auth_basic "Authorized users only";
auth_basic_user_file /nginx/conf/longxibendi.auth.conf ; #这里写前面脚本返回的文件路径;
重启nginx
nginx -t
nginx -s reload
相关推荐
这种方法不是通过网站应用层的注册登录系统,而是直接在服务器配置层面进行,利用Nginx的HTTP基本认证(HTTP Basic Authentication)功能和htpasswd文件。 首先,要实现这一功能,需要修改Nginx的服务器配置。在...
总结来说,"nginx添加php basic验证"是一个涉及Nginx配置、HTTP基本认证和PHP-FPM集成的过程,用于增强网站安全性,防止未经授权的访问。正确配置后,只有提供了正确凭证的用户才能访问PHP应用。
本文将深入探讨如何在Nginx中添加权限控制,以增强网站的安全性,确保敏感资源不被未授权访问。 ### Nginx权限控制的重要性 在互联网世界中,数据安全至关重要。无论是个人网站还是企业级应用,保护用户数据和限制...
Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可。 Nginx可以为某一个域名...2. 为Nginx添加auth认证配置 下面以某域名下面的aut
Nginx可以为某一个域名单独加用户认证,具体做法如下: ...2. 为Nginx添加auth认证配置 下面以某域名下面的auth目录为例,在域名的server段里加上如下代码: 代码如下:location ^~ /auth/ {location ~ .*.
然后,我们可以在 Nginx 配置文件中添加以下内容来启用基本认证: `auth_basic "Restricted Area";` `auth_basic_user_file /usr/local/nginx/conf/passwd;` 虚拟主机 Nginx 中的虚拟主机可以让我们在同一个 IP ...
4. 配置Nginx服务器:在Nginx配置文件中添加对TFS的访问规则,例如创建一个location块,指定TFS的URL和认证方式。 ```nginx location /tfs { tfs_pass http://your-tfs-server:8080/tfs; auth_basic "TFS Access...
为网站目录设置访问验证之后我们就是进入此页面都需要输入验证密码才可以,下面我来介绍nginx中...2、为Nginx添加auth认证配置 下面是以某域名下面的soft目录为例,在域名的server段里加上如下代码: 代码如下: l
2. **配置Nginx服务器块**:在Nginx的配置文件(通常为`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`)中,找到相应的服务器块并添加以下配置: ```nginx location /protected { auth_basic ...
找到你的Nginx配置文件(通常位于`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`),然后添加以下段落到你想保护的服务器或location配置中: ```nginx location /protected_directory { auth_...
接下来,我们需要配置Nginx以使用这个`.htpasswd`文件进行认证。在Nginx的配置文件(通常是`/etc/nginx/nginx.conf`)中,找到对应的服务器或location块,然后添加以下代码: ```nginx location /protected_...
首先,我们要了解Nginx的基本白名单配置方法,然后介绍如何结合Lua模块来实现动态添加白名单,并添加简单的认证机制,以防止未经授权的访问。 一、Nginx配置访问白名单 要启用Nginx的访问白名单,我们需要在Nginx...
安全起见需要增加下认证,但是重新搭建登录服务比较麻烦,所以想到利用nginx做认证. 1. 下载安装httpd-tools yum install httpd-tools -y 2. 创建授权用户和密码 htpasswd -c -d /usr/local/nginx/conf/pass_file ...
以上就是在Nginx服务器中为网站或目录添加认证密码的配置方法。通过合理使用auth_basic指令和密码文件,我们可以有效地控制对敏感数据的访问,从而提高网站的安全性。在配置过程中,还需要注意指令的正确位置以及...
auth_basic_user_file /etc/nginx/.htpasswd; ``` 2. **地理IP过滤**:通过GeoIP模块限制特定国家或地区的访问。首先安装GeoIP库和Nginx模块,然后配置: ```nginx geo $block { default 0; include /etc/...
7. 添加DNS记录并测试访问:配置好Nginx后,需要在DNS服务器上添加相应的A记录,将域名指向正确的IP地址。最后,通过客户端(如IE浏览器)访问域名进行测试,确保配置生效。 从上述步骤中,我们可以提取以下知识点...
需要注意的是,这里使用了`htpasswd`命令来生成用户认证文件,并且需要确保认证文件的权限正确设置。 - **基于IP的访问控制**:可以通过以下方式限制特定IP地址或IP段的访问: ```nginx deny 192.168.1.0/24; ...
5. 创建认证文件:如"password.conf",一般使用htpasswd工具生成htaccess文件格式的认证信息,然后在Nginx配置中引用。 6. 部署流媒体内容:将视频文件上传到Nginx指定的目录,并创建对应的M3U8索引文件。 7. 测试...
可以使用`htpasswd`命令创建一个密码文件,然后在Nginx的虚拟主机配置中引用这个文件,设定需要认证的目录。例如,通过以下配置: ```nginx location /protected { auth_basic "Restricted Area"; auth_basic_...