主要是记录Apache2上的证书的安装

第一步:sudo apt-get upgrade

1.安装OpenSSL

OpenSSL是一个安全套接字层密码库,是我们加密传输的基石

sudo apt-get install openssl

2.选购证书

随着https时代到来,到处都有免费的好用的证书,建议在自己域名提供商处选购证书,方便验证

3.启动Apache2中关于SSL的模组

sudo a2enmod ssl//启动ssl模组

sudo a2enmod rewrite//启动重写模组 方便接下来的重定向

service apache2 restart

(其实重写不开也能重定向,下面内容没有用到重写)

4.修改/etc/apache2/sites-availiable/000-default.conf

<VirtualHost 0.0.0.0:443>
DocumentRoot "/var/www/html"
ServerName www域名
SSLEngine on
SSLCertificateFile /pubilc证书位置/public证书名称.crt
SSLCertificateKeyFile /key位置/key名称.key
SSLCertificateChainFile /chain位置/chain名称.crt
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www域名.xxx.com
DocumentRoot /var/www/html
Redirect permanent / https://www.域名.com
</VirtualHost>
////如果你还有子域名使用不同证书(像我申请的证书只能使用在一个子域名上)

////请继续往下看,否则请忽略以下内容

<VirtualHost 0.0.0.0:443>
DocumentRoot "/var/www/html"
ServerName 子域名.xxx.com
SSLEngine on
SSLCertificateFile /pubilc证书位置/pubilc证书名称.crt
SSLCertificateKeyFile /key位置/key名称.key
SSLCertificateChainFile /chain位置/chain名称.crt
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName 子域名.xxx.com
DocumentRoot /var/www/html
Redirect permanent / https://子域名.xxx.com

</VirtualHost>

请注意,网上有的教程没有让写出SSL_Chain的文件位置,其实应该写,防止中间人攻击。
还有一点建议一定要保存好证书,坚决不能让证书泄露,否则….否则…!!!

否则你就要重新申请证书了hhh

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.