最近发现网站总是被电信恶意添加了广告,导致链接总是各种异常,因此打算开启HTTPS来规避这种情况。本来以为很简单的,结果发现网上的各种不靠谱。
1.启用Apache自带的SSL模块
1 |
sudo a2enmod ssl |
2.激活Apache对于HTTPS的支持
1 |
sudo a2ensite default-ssl |
这一步骤其实就是把/etc/apache2/sites-available/default-ssl拷贝到了 /etc/apache2/sites-enabled/default-ssl,并且更改了一下文件权限
如果要取消对于HTTPS的支持 可以执行
1 |
sudo a2dissite default-ssl |
或者
1 |
sudo rm -rf /etc/apache2/sites-enabled/default-ssl |
3.强制Apache2 刷新配置
1 |
sudo service apache2 reload |
或者
1 |
sudo service apache2 restart |
这样便开启了Apache2 的HTTPS支持,此时输入https://www.mobibrw.com/就可以正常访问了。
但是此时使用的证书是在 /etc/apache2/sites-enabled/default-ssl中配置的默认的证书文件,内容如下:
1 2 3 4 5 6 7 8 |
# A self-signed (snakeoil) certificate can be created by installing # the ssl-cert package. See # /usr/share/doc/apache2.2-common/README.Debian.gz for more info. # If both key and certificate are stored in the same file, only the # SSLCertificateFile directive is needed. SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key |
如果要替换成自己的证书文件,只要修改 SSLCertificateFile
跟SSLCertificateKeyFile
就可以了。
上面使用的例子的证书格式是.pem
格式的,如果是.csr
格式的只要是Base64
编码格式的(记事本打开之后,首行是"-----BEGIN CERTIFICATE-----
"),跟上面的例子相同,直接设置就可以了。以申请到的沃通的免费证书为例子:
申请完成后的证书ZIP文件中有一个for Apache.zip的压缩包,解压缩之后,上传到服务器,然后直接如下设置就可以了:
1 2 3 4 5 6 7 8 |
# A self-signed (snakeoil) certificate can be created by installing # the ssl-cert package. See # /usr/share/doc/apache2.2-common/README.Debian.gz for more info. # If both key and certificate are stored in the same file, only the # SSLCertificateFile directive is needed. SSLCertificateFile /etc/apache2/certs/wosign.csr SSLCertificateKeyFile /etc/apache2/certs/wosign.key |
至于其他的配置,跟/etc/apache2/sites-enabled/000-default中的一致就可以了。