apache加密
1. 怎样在apache服务器中使用ssl功能
1、首先请确认您的Apache服务器已经安装有加密模块,可以是OpenSSL,或是OpenSSL+ModSSL。
2、通过OpenSSL给Apache服务器产生一个密钥对(key pair)# openssl req -new -nodes -keyout private.key -out public.csr在这里,您需要根据您Apache服务器的实际信息回答一些问题,主要有:国家名(Country Name)、省或洲际名(State or Province Name)、地方名(Locality Name)、组织名(Organization Name)、组织单位名(Organization Unit Name)、通用名(Common Name)、email地址(Email Name)、私钥保护密码(a challenge password)、可选公司名(An opentional company name)。这里有必要注意的是,国家名一定要是标准的缩写,中国是CN;通用名一定是FQDN。
3、然后,在您的当前目录下会产生两个文件:private.key和public.csr。private.key是您的私钥,public.csr是证书请求文件。4、访问http://demo.sheca.com/testca/TCert1/tcert.asp,申请免费的WEB站点证书,免费的只有15天的使用期限哟。把刚才的public.csr请求文件内容贴进申请页面,完成证书的申请工作。
5、申请完证书之后,将证书文件复制到您刚才保存私钥和请求文件的目录下。
6、现在配置您的Apache服务器的http.conf文件,打开https服务。请用编辑器(unix或linux可以用vi,windows用notpad。请不要用word之类的字处理软件,因为它会包括一些不可见控制符)增加如下内容:SSLCertificateFile /etc/ssl/crt/public.derSSLCertificateKeyFile /etc/ssl/crt/private.key请根据您的证书和私钥的实际地址,修改上述内容。
7、重新启动您的Apache 服务器。您可以通过启动脚本来实现。# apachectl stop# apachectl startssl这样,您Apache 服务器的80和443端口同时提供服务了。
2. 怎么给网站域名后面的目录加密显示
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文件。