将自己的站点升级成HTTPS的(疯狂踩坑)过程

前言

又是一个阴雨天没有课的下午@( ̄- ̄)@

和舍友打完两把英雄联盟,又打开了掘金开始刷面经。(实习面试很慌啊!)

看到HTTP协议和HTTPS的区别

  • HTTPS就是身披 SSL( Secure Socket Layer )外壳的 HTTP,运行于 SSL 上,SSL 运行于 TCP 之上,是添加了加密和认证机制的 HTTP。就是在HTTP(应用层)和TCP(传输层)之间添加了一层SSL协议。
  • HTTPS默认运行在443端口,而HTTP默认运行在80端口。
  • HTTPS由于需要证书的加密机制,所以安全性更高,但同时CPU和内存的消耗也更多。
  • HTTPS使用共享密钥加密和公开密钥加密并用的混合加密机制
  • 百度和谷歌也会优先收录HTTPS站点哦~

看到这里我不禁想起来,我每次打开自己的站点时候都会看到地址栏旁边有个不安全的标志,看着可是着实让人难受,不如来搞个HTTPS吧!

准备SSL证书

我购买的是阿里云的服务器,通过谷歌了解到阿里云是提供免费的SSL证书的,在如下的界面购买即可

配置Apache支持HTTPS

前面一顿操作,将获得的证书文件下载到了自己的电脑上

下面开始重头戏,也是踩了不少坑的地方 也放一下 阿里云官方的配置文档 然而我们自己安装的Apache目录和官方的是不一样,许多配置文件都分散到了各个文件中。

开启Ubuntu的OpenSSL使Apache加载SSL模块

使用命令sudo a2enmod ssl加载Apache的SSL模块。

Apache加载SSL模块后,会在/etc/apache2/sites-available下生成default-ssl.conf文件,我们在终端使用sudo权限,通过vi编辑器打开。

这个文件需要做以下修改:

  1. 第一个VirtualHost标签 改成 *:443
  2. ServerName 换成自己的域名
  3. SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile对应的分别是刚刚下载下来的三个文件。

完成后:wq退出

然后需要把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹

使用命令sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf进行建立软链接操作。

官方文档中

SSLProtocol all -SSLv2 -SSLv3    
# 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM    
# 使用此加密套件。
SSLHonorCipherOrder on
复制代码

/etc/apache2/mods-available/ssl.conf中修改

最后重新加载Apache配置文件:sudo /etc/init.d/apache2 force-reload

重启Apache服务:sudo /etc/init.d/apache2 restart

HTTP重定向至HTTPS

使用命令:sudo a2enmod rewrite加载Apache的rewrite模块

打开 /etc/apache2/apache2.conf修改如下代码

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride ALL
        Require all granted
</Directory>
复制代码

然后进入你的网站根目录,使用命令touch.htaccess来创建.htaccess文件

修改如下:

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

然后重启服务器,测试我的博客网站咯~

嘻嘻,大功告成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值