/ 中存储网

Apache和Nginx服务器访问网站或目录加密验证的方法

2013-10-27 22:47:01 来源:IT技术网

Apache:

Apache对网站目录加密是用.htaccess文件进行设置,在.htaccess文件中写入:

AuthType Basic

AuthName "WORKING CENTER"

AuthUserFile /home/user/.htpasswd

Require valid-user

再生成相应的密码文件.htpasswd(该文件名可以随意,不过必须与.htaccess中相同):

user:I/CrS5Tm.EPGc

以上是.htpasswd中的内容,user部分是用户名,“:”号后面的是加密后的密码,该密码可以用一个脚本生成:

#!/usr/bin/perl

usestrict;

my

$passWord=$ARGV[0];

print

crypt($passWord,$passWord)."n";

将以上内容写入,脚本中:vim pass.pl

注意:.htaccess文件是放在需要加密的目录下,上传好后apache不需要重启,.htpasswd密码文件不要放在网站目录下,路径不要写错!

该密码文件有相关工具可以生成,htpasswd命令,比如:

#htpasswd –bc .htpasswd user passuser

这样就会在当前目录下生成带有用户名为user,密码为passuser的.htpasswd文件。

NGINX:

最近整了个云vps,是用nginx搭建的,下面的配置以它为基础。Nginx网站目录加密是通过nginx.conf配置文件来控制的,具体方法可以修改或加入配置到server段:

#vi nginx.conf  #打开nginx.conf文件

location ^~ /mm {

auth_basic            "Nginx Passwd";

auth_basic_user_file  /home/dotcloud/.htpasswd;

}

上面的示例是加密网站目录下的mm文件夹,其下的目录都将被加密;如果不希望递归加密,把前面的^~符去掉。

同样的记得把.htpasswd文件放入对应目录下,语法跟Apache一样。

注意:由于修改了nginx配置文件记得重启或重新加载配置文件!

此条目是由 malu8 发表在 未分类 分类目录的。将固定链接加入收藏夹。