httpd安装见我的另一篇博客 :
http://www.jb51.cc/article/p-scwwisql-bch.html
以下所有操作,建议全程在root权限下执行。
一、安装OpenSSL
1.下载OpenSSL。当前版本为openssl-1.0.2j.tar.gz
2.解压。
tar zxvf openssl-1.0.2j.tar.gz
3.进入解压后的目录,安装。
./config shared --prefix=/usr/local/openssl make make test make install
二、给服务器颁发证书
1.创建CA签名(不需要加密的话可以去掉 -des3 选项)
openssl genrsa -des3 -out server.key 1024
2.创建CSR
openssl req -new -key server.key -out server.csr
3.签发证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
4.将证书和密钥复制到相应目录
cp server.crt /etc/ssl/certs cp server.key /etc/ssl/private
cp /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/001-ssl.conf sudo gedit 001-ssl.conf
进入001-ssl.conf后,
将<VirtualHost *:80>中的80修改为443
在DocumentRoot下面加入以下内容:
SSLEngine On SSLOptions +StrictRequire SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key
6.加载新的配置并重启apache
/etc/init.d/apache2 force-reload /etc/init.d/apache2 restart
7.使用浏览器测试https://localhost/
我是在虚拟机中运行的Ubuntu,本地测试截图:
在Windows中用Chrome访问虚拟机服务器,可以查看到证书,截图: