为Nginx目录设置访问密码

本文介绍如何使用Python脚本生成htpasswd文件,并配置Nginx实现网站目录加密访问。同时解决了加密后PHP文件无法正常解析的问题。

创建htpasswd文件:

可以使用以下这个python脚本生成:

http://trac.edgewall.org/export/10770/trunk/contrib/htpasswd.py

执行命令:

chmod 777 htpasswd.py
./htpasswd.py -c -b htpasswd username password

其中htpasswd是生成的文件名

2.修改nginx的conf

修改nginx.conf或者所要设置的vhost的conf,加入如下语句:

location  ^~ /
{
auth_basic "Password";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

其中htpasswd是上面步骤一生成的文件,我放到了nginx的conf文件夹下。这样就对整个根目录进行了加密,但是出现了一个问题就是无法解析php。那么将上述文件中的php解析部分改成:

location ^~ / {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic "Password";
uth_basic_user_file /usr/local/nginx/conf/htpasswd;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值