数天前发现同学在配置小程序的后台是使用到了SSL证书,想起自己网站上线数月,依旧顶着http的名头,不够安全也是略显寒酸,因此决定为我们的网站配置一波SSL证书,进入HTTPS的时代嘿嘿
参考博客:Django 开启HTTPS时代——安装证书、启用HTTPS
一、证书购买与下载
登陆阿里云的管理后台,选择云盾的SSL证书功能

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

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

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

二、服务器相关文件的配置
1.上传证书
这里我们将下载下来的证书文件(3个)上传到服务器,放到对应位置
我选择的是放到了 /etc/apache2/sites-available/cert/
2.加载 Apache 的 ssl 模块
a2enmod ssl
之后重启 Apache2 服务器,不过貌似重载也是可以的来着?
service apache2 restart / service apache2 reload
3.新增配置文件
我们可以复制之前的http的配置文件,再做出以下的修改:
1)将端口号修改为443
<VirtualHost *:80>
# 改为
<VirtualHost *:443>
2)在</VirtualHost>前添加以下三行配置
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。
本文详细介绍了如何在Apache2服务器上配置并启用SSL证书,从证书购买、服务器配置到HTTP重定向,确保网站能通过HTTPS安全访问。
— Apache2 使用SSL证书,启用HTTPS&spm=1001.2101.3001.5002&articleId=87280167&d=1&t=3&u=5e116b0524434aaa8a7f591c36e48a4b)
2015

被折叠的 条评论
为什么被折叠?



