1. 生成自建CA Root

什么是CA

CA,Catificate Authority,数字证书认证中心,用于签发证书,保证客户端之间服务端的信任。CA实际上是在做key和cert的pair。
常见的Symantec, Comodo等公司都是CA服务商。

为什么要CA

不经过CA签证的证书之间挂到Apache上也能用,但浏览器肯定会报错ERR_CERT_AUTHORITY_INVALID,带着一个红叉,需要点强行访问来通过。使用这些公司签发的证书浏览器能自动识别,是因为浏览器已经内置了这些厂商的根证书。
我们自己做一个CA,一方面是可以去掉报错和红叉,另一方面也是为了实现双向认证模式。

生成CA的key,CSR,Cert

待补充

生成CSR,并由CA签发

待补充

2.配置到Aapche2上

1.将生成的证书和生成所用的key复制到目标服务器指定目录

2./etc/apache2/sites-available/default-ssl.conf
节点下修改为如下

<VirtualHost _default_:443>
ServerAdmin shitao@transfereasy.com
ServerName localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile      /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

3.确保打开ssl模块和default-ssl.conf文件,重启apache

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart

4.打开url强制跳转

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}{REQUEST_URI} [L,R]