个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS

数天前发现同学在配置小程序的后台是使用到了SSL证书,想起自己网站上线数月,依旧顶着http的名头,不够安全也是略显寒酸,因此决定为我们的网站配置一波SSL证书,进入HTTPS的时代嘿嘿

 

参考博客:Django 开启HTTPS时代——安装证书、启用HTTPS

 

一、证书购买与下载

 

登陆阿里云的管理后台,选择云盾的SSL证书功能

个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS_第1张图片

 

购买对应的证书,选择免费类型即可 (Symantec—免费型DV SSL—1个域名)

个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS_第2张图片

购买完成后点击申请,填写相应的信息之后进入审核阶段(一般5-10min即可审核完成)

个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS_第3张图片

之后,下载服务器对应的证书,比如说我们要的就是 Apache2 的证书

个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS_第4张图片

 

二、服务器相关文件的配置

 

 

1.上传证书

 

这里我们将下载下来的证书文件(3个)上传到服务器,放到对应位置

我选择的是放到了 /etc/apache2/sites-available/cert/ 

 

2.加载 Apache 的 ssl 模块

 

a2enmod  ssl

之后重启 Apache2 服务器,不过貌似重载也是可以的来着?

service apache2 restart / service apache2 reload

 

3.新增配置文件

 

我们可以复制之前的http的配置文件,再做出以下的修改:

1)将端口号修改为443


# 改为

2)在前添加以下三行配置

SSLCertificateFile /etc/apache2/sites-available/cert/xxxx_public.crt
SSLCertificateKeyFile /etc/apache2/sites-available/cert/xxxx.key
SSLCertificateChainFile /etc/apache2/sites-available/cert/xxx_chain.crt

 

4.启用站点

 

a2ensite Schnee_ssl
service apache2 reload

 

5.测试网站

 

给我们的网站加上https的前缀,检查是否能够正常访问。

我在测试中发现无法访问,推测是阿里云的安全组的问题,修改安全组规则后即可正常访问。

安全组修改可参考:个人网站搭建(Day 12)— 部署服务器(上) 服务器的基础设置

 

三、HTTP重定向

 

我们使用了SSL证书后就可以使用https的方式来访问我们的网站了,然而,我们还是希望输入http的前缀的时候可以进行访问,也就是说自动跳转到https,这里就涉及到了http的重定向问题

1)启用重定向模块

a2enmod rewrite

2)修改原来的80端口的配置文件,添加以下代码

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

3)服务器重载

service apache2 reload

重新测试可以看到,当我们输入 http 的前缀时,会重定向到 https。

你可能感兴趣的:(个人网站搭建)