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]