为lighttpd开启ssl访问

为我的博客开启了ssl的访问,我也不知道有啥好处,就当是弄着玩吧。

ssl的机制中,有一个ca,然后有进行通讯的A和B,这里是Server和Browser,在BS模式中,浏览器不需要证书(当服务器需要验证客户身份时,也需要证书,如支付宝的个人证书)。

ssl如果想弄到一个ca的认证,是需要花钱的,而且还不便宜。如果是一种面向小众的情况,如一个企业内部使用,可以使用私有证书,也就是自己来充当ca这个角色。

首先就来生成一个ca,先建立目录结构

mkdir -p ./demoCA/{private,newcerts}
touch ./demoCA/index.txt
echo 01 > ./demoCA/serial

生成CA证书的RSA密钥对

openssl genrsa -out ./demoCA/private/cakey.pem 2048

然后生成一份ca的证书

openssl req -new -x509 -days 3650 -key ./demoCA/private/cakey.pem -out ./demoCA/cacart.pem

根据提示,填入一些信息,然后就生成了cacert.pem这个证书

接着就是使用这个CA来签发证书了

openssl genrsa -out server.key 2048
openssl req -new -days 365 -key server.key -out server.csr
openssl ca -in server.csr -out server.crt
cat ca.crt server.crt > /etc/lighttpd/server.pem

然后将server.pem在lighttpd配置ssl

cd /etc/lighttpd/conf-enabled.d
ln -s ../conf-available/10-ssl.conf .
vi 10-ssl.conf

然后重启服务

service lighttpd restart

还可以把ca.crt导入到客户端浏览器中,然后我们的网站也可以看到这把小绿锁了

image

Published: December 12 2011

  • category:
  • tags: