万俊华

小白成功尝试SSL证书自主配置
好消息:本站已成功配置好 SSL 证书,自己捣鼓了一晚上,皇天不负苦心人!预告:答应我请一定看到最后,剧情有反转!...
扫描右侧二维码阅读全文
02
2018/10

小白成功尝试SSL证书自主配置

好消息:本站已成功配置好 SSL 证书,自己捣鼓了一晚上,皇天不负苦心人!

预告:答应我请一定看到最后,剧情有反转!

沉迷学习,日渐消瘦

我的博客网站建站也有两三个月了,一开始就没有选用老牌的 WordPress 而是使用了国人开发的相对轻量级的 Typecho。之前对网站博客外观修修改改,对主题模板沉迷过一段时间,直到买了付费主题 handsome 才由此脱身赶紧弃坑,这个主题各方面设置面板相对完整全面,对于小白站长来说足够你折腾的。

说回主题,我对 https 的认识还是有的,早就想配置 SSL 证书了,而阿里云取消了免费证书的提供,付费证书动辄1999元/年的价格也让我望而却步;腾讯云倒是提供了免费的 SSL 证书,安装腾讯官方教程文档一顿操作之后,网站直接挂了,还好之前机智的做好了备份。只好在阿里云后台初始化系统,安装 lamp.sh 一键安装环境配置(PS:其实这个脚本包含了免费证书的安装,但对于小白的我来说就是会卡在这里,按照脚本的命令安装完也是跟腾讯云那次一样的网站直接挂掉,无法正常访问。)、导入数据库(PS:之前导出数据库使用以下命令mysqldump -u root -p typecho > typecho.sql,导入数据库则使用以下五个命令步骤:mysql -u root -pcreate database typecho;use typecho;set names utf8;source ~/typecho.sql)一切恢复如初,冷静一下之后干脆放弃了,直到今天访问站长之家并使用站长工具查询我的网站 SEO 情况时,看着它给出的一项项数据,在安全认证项中显示的 SSL 证书是个大大的带感叹号的未启用https:,而旁边又给出了一条免费申请的链接,又给我重新燃起了希望。

没有犹豫,我决定再次尝试一次,并做好截图,写下这篇文章,看看小白能不能自主配置好 SSL 证书。若成功,我把详细步骤写下来分享给广大零基础小白;若不成功,我就啥也不做了,静下心来系统的学习 SSL 证书,并置顶此文章,以表决心!不成功便成仁!

那么,现在就跟着我尝试一遍,先交代一下,我是在 PC 端电脑上操作的。

使用浏览器打开站长之家的站长工具,输入自己的域名(PS:免费证书不包含通配符设置,即www.wanjunhua.comwanjunhua.com不能使用同一个证书,我决定使用www.wanjunhua.com,因为百度链接提交使用的是这个,干脆以后都用这个了,不改了,孰好孰坏孰优孰劣自己决定,无伤大雅。)

点击下面的一排工具中的SEO综合查询,你将看到如下结果:

小白尝试 SSL 证书自主配置

点击安全证书项目中的免费申请链接,你会看到0元/年的字样,输入联系电话和常用QQ后点击核对信息并提交按钮。

小白尝试 SSL 证书自主配置

好吧,先登录,然后再来一次。

小白尝试 SSL 证书自主配置

填写完整信息,即可进入下一步。

小白尝试 SSL 证书自主配置

小白尝试 SSL 证书自主配置

到了这一步我查看了一下详细说明,这里的详细说明只是个例子,是个死文件,我把站长之家想的太智能了,按照它给的方法配置 DNS 解析,是在误导我们做无用功,以下是个错误示范。

小白尝试 SSL 证书自主配置

正确方法是点击确认申请,忽略它给的详细说明,确认申请之后才会给出唯一正确的 DNS 验证,第二种方法同理。

小白尝试 SSL 证书自主配置

按照正确方法在阿里云控制台重新配置 DNS 解析验证。

小白尝试 SSL 证书自主配置

然后提交验证。

小白尝试 SSL 证书自主配置

提交验证!

提交验证!!

提交验证!!!

我在这一步过不去,卡在这里了,查看一下为什么会验证失败?这个链接,我猜测以前在腾讯云申请的是同一款证书,黑人脸,我真想掀桌子啦!

小白尝试 SSL 证书自主配置

小白尝试 SSL 证书自主配置

这将意味着本篇文章才刚进入主题就已完结。

蘑菇头表情包:我还能说些什么

只能按照官方文档生无可恋的重新再来了。

以上。

剧情有反转!

后记

阿里云其实是有免费版 SSL 证书的,只是在控制台申请的时候需要点技巧,要不然出来一大堆全是收费的,具体技巧给个截图你就明白了。我是阿里云的 ECS 服务器,使用阿里云提供的 SSL 免费证书连申请都要方便好多。

阿里云可直接申请 SSL 免费证书

阿里云可直接申请 SSL 免费证书
阿里云可直接申请 SSL 免费证书

阿里云可直接申请 SSL 免费证书
阿里云可直接申请 SSL 免费证书
阿里云可直接申请 SSL 免费证书
阿里云可直接申请 SSL 免费证书

看懂了吗?

阿里云可直接申请 SSL 免费证书,方法需要一些技巧性:

  1. 第一步选择品牌Symantec
  2. 第二步保护类型选择:1个域名
  3. 第三步证书类型才会犹抱琵琶半遮面的出现免费型DV SSL
  4. 到了这一步就可以看到¥0.00立即购买

如果大家按照惯性思维从上到下选择下来,永远也看不到免费版的 SSL 证书,有点加密的意思在,不得不说,大写的坑爹!

审核通过,证书已签发时阿里云会第一时间发短信通知我,这一点还是比较实在的,那当然是选择原谅她了。

阿里云 SSL 免费证书审核通过

最后需要自己配置,配置的时候看到了这个,满满的商业气息。

阿里云 SSL 证书配置服务

失败的官方教程(已弃用)

文件说明:

  1. 证书文件215048794790884.pem,包含两段内容,请不要删除任何一段内容。
  2. 如果是证书系统创建的CSR,还包含:证书私钥文件215048794790884.key、证书公钥文件public.pem、证书链文件chain.pem。

( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为215048794790884.key;

( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf

( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:(作者留言:这一步没头没脑,对我们这种小白太不友好了)

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/215048794790884.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem

( 4 ) 重启 Apache。

( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置,如遇到证书不信任问题,请查看帮助视频

按照以上方法依然无法完成安全证书的配置,一定有什么关键点没有说出来,如要不要开启端口,怎么开启?上面第3步的代码是直接全文覆盖还是逐个替换,两种方法都试了,网站直接瘫痪,拒绝访问!

最后还是得靠自己!继续摸索继续折腾,还真被我找到一条方法了,对小白绝对友好,请继续往下看。

配置成功

因为有点不甘心,所以晚上通宵捣鼓,再次把网站弄挂了一次的情况下因祸得福让我找到一条捷径,也算是最适合我个人情况的方法了。

是的,方法就是结合 lamp.sh 脚本的 SSL 证书配置命令 lamp add 添加虚拟主机,虚拟主机的根目录还是写上原来的根目录,即 /data/www/default,这次没有填写花里胡哨的域名为目录,最简单的往往最有效,也最不容易出
bug 并且最稳健,这比较符合我的风格和理念。lamp 提供两种证书选择,第一种是自己提供证书,第二种是选用 Let's Encrypt 开源证书,今天刚好申请到阿里云证书,我直接选择第一种方式,开源证书虽好,但就怕节外生枝再生变数。

最后

我发现博客首页这把锁是开着的,而我访问其他网站人家是把闭合的锁,应该还没有完全配置好,还差一点点,通过百度搜索一下也是懵懵懂懂的。而我打开网站后台时发现地址栏的小锁是闭合的,结合网上的只言片语我一下意识到问题出在哪里了,网站后台显示的闭合小锁是因为后台页面没有引用 http:// 格式的图片,我查看了一下 header.php 里面对于 favicon 的图片链接方式是 //www.wanjunhua.com/img/... 这样的,而博客首页里面是直接使用 http://www.wanjunhua.com/img/... 这种 http 类型的,把它们全部替换成 https:// 或者直接 // 就好了。

看着配置好了 SSL 证书的自己的博客网站,通过自己的努力总算折腾出来了,还是蛮有成就感的,自信心都爆棚了!开心^_^

以上。

标签:#SSL证书 #https

Last modification:October 21st, 2018 at 10:00 pm

12 comments

  1. 猫抓草

    还有就是你这个头像是怎么获取的啊

    1. 万俊华
      @猫抓草

      我看过 handsome 主题后台,默认通过邮箱获取头像,如果自己没有在 typecho 或 wordpress 设置过,是QQ邮箱的话会自动获取QQ头像,具体原理没研究过,应该是有 API 接口的,都是主题模板自带的,拿来就用,没有深究原理。

    2. 万俊华
      @猫抓草

      我的博客皮肤模板是付费的,有社区维护。建议买来学习也好,我在这里就不好扩散分享源码了。

    3. 万俊华
      @猫抓草

      后台可以上传头像,服务器本地也留了头像文件,后台也上传了头像,游客输入邮箱自动匹配头像。

      1. 猫抓草
        @万俊华

        谢谢

        1. 万俊华
          @猫抓草

          You are welcome!

  2. 猫抓草

    我想问一下 评论功能如何最新的显示在上面,我不知道怎么修改,在网上也没找到。麻烦了

    1. 万俊华
      @猫抓草

      我的博客系统是 typecho 的,在后台设置-评论里就可以修改,我的这个设置基本上都是皮肤自带的,已经被优化好了,原生的自己到博客后台找。

  3. 范明明

    下一步就是升级php版本了,5.X版本的php将于12月31日停止更新。

    1. 逝雪蓝冰
      @范明明

      这么突然,停止更新了,但还能用吧!麻烦的话就不想动,怕有后遗症。

      1. 范明明
        @逝雪蓝冰

        不会有后继的安全更新了,为了网站的安全建议还是升级吧。

        1. 逝雪蓝冰
          @范明明

          总感觉现在用的挺好的,就怕升级到太高的版本主题不支持或者不兼容,也怕小水管性能带不动。我就先不动吧,安不安全的无所谓,自己做好备份。

Leave a Comment