唐伯虎 发表于 2021-8-22 21:27:54

Nginx服务器设置网站验证访问的方法

为网站目录设置访问验证之后我们就是进入此页面都需要输入验证密码才可以,下面我来介绍nginx中配置目录访问验证码方法总结。
1、创建类htpasswd文件
执行:



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

按提示输入用户名、密码、及认证文件名。脚本会自动生成认证文件。记录下脚本返回的文件路径。如:/usr/local/nginx/conf/vpser.net.auth。
2、为Nginx添加auth认证配置
下面是以某域名下面的soft目录为例,在域名的server段里加上如下代码:

复制代码代码如下:


location ^~ /soft/

{

auth_basic "Authorized users only";

auth_basic_user_file //这里写前面脚本返回的文件路径;

} Authorized users only为提示信息,可以修改成自己想让他提示的信息;auth_basic_user_file 后面需要填htpasswd.sh脚本返回的人家文件的路径。按上面的提示修改好配置后,重启nginx,访问http://yourdomainname/soft/ 就会提示输入用户名和密码。
注意,加上认证之后该目录下的PHP将不会被解析,会出现下载提示,如果想可以解析PHP可以将上面的配置改为:
复制代码代码如下:



location ^~ /soft/ {

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 //这里写前面脚本返回的文件路径;

}

文档来源:http://www.zzvips.com/article/24245.html
页: [1]
查看完整版本: Nginx服务器设置网站验证访问的方法