前阵子在nginx上做了客户端证书认证,发现满足感大大的有,于是一发不可收拾,在RaspberryPi上的Apache也做了一个。
上参考:
http://www.adintr.com/article/blog/192
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html
首先,第一步是做证书。
这部分是老生常谈了,懒人表示继续在路由上用easyrsa做(参考1,参考2),写了一份server的key和crt之后就可以拿来用了。(之前我有CA证书和客户端证书了)
然后到手3个文件, server.key server.crt ca.crt。
修改/etc/apache/sites-available/default-ssl
找到这些字段
SSLCertificateFile SSLCertificateKeyFile SSLVerifyClient SSLCACertificateFile SSLVerifyClient
去掉注释之后,分别填上 server.crt的位置,server.key的位置,”on”,ca.crt的位置,”require”,就像这样
SSLEngine on SSLCertificateFile /etc/apache2/certs/pi.crt SSLCertificateKeyFile /etc/apache2/certs/pi.key SSLCACertificateFile /etc/apache2/certs/ca.crt SSLVerifyClient require
配置也完成了。
然后启用一下ssl的mod和这个默认的ssl配置,就是分别做一下软连接。
最后启动/重启apache服务器,好了,看到浏览器问你要证书了。