将网站添加小绿标–https

Posted on Posted in ubuntu

QQ截图20160813173914

经过仔细研究,使用lets encrypt添加小绿标应该是最方便快捷堪称弱智的操作。

但是即使如此弱智,我也出了问题。

应该是以前安装python的一些环境没有弄好,而lets encrypt是依赖于py的,所以我一直报错…

最后我忍无可忍,决定,开台新的服务器,全部迁过去。

我的服务比较少,用手指头就能数清,所以完全无所谓

于是我先进行了一次迁站工作。

接下来是正题

第1步 – 安装服务器依赖

我们需要做的第一件事是更新包管理器缓存:

我们需要用git来下载Let’s Encrypt Client。安装git,运行:

第2步 – 下载 Let’s Encrypt Client

Clone Let’s Encrypt Client 到 /opt 文件夹。

第3步 – 设置SSL证书

Let’s Encrypt client 能够自动化生成 Apache SSL证书,用起来还是很方便的。
访问letsencrypt目录:

要执行交互式安装程序,并获得单个域名的证书。运行 letsencrypt-auto 命令的方法:

如果你要为多个域或子域获得证书,可以用下面这种方式:

当安装完成后,你可以在/etc/letsencrypt/live文件夹中找到证书文件,并且将它复制、转换安装到Nginx服务器上。您可以用下面的链接验证您的SSL证书状态:

现在,你应该可以使用https前缀访问您的网站了。

恩…然后就出现了蛋疼的问题

如果你是wordpress,那么你的https小图标肯定没有变绿,因为你的媒体引用还全部都是http,下面是解决方法

有两种方法

一种是在function.php添加函数(不推荐)

二是在sql数据库中替换掉http的那些链接(有风险,请一定要备份)

我是在phpadmin中先选中wordpress的库然后使用控制台,执行下面的命令,注意替换

UPDATE wp_posts SET post_content = replace(post_content, ‘http://example.com/wp-content/uploads’,’https://example.com/wp-content/uploads’);

替换成功,但是我的首页还是没变成小绿标,仔细研究后发现,由主题定义的,如滑动图片等多媒体是不会自动替换的,即使你媒体库里的链接已经变成https,因此请手动替换掉,文章中的媒体已经替换完毕,不用管了

然后再插一句:如果你使用第一种方法,并且在其他网站上找到了代码,请注意一下代码的编码和function.php的编码是否一致

第4步 – 设置自动更新

Let’s Encrypt 证书的有效期为90天,因此建议每60更新一次证书。 好在 Let’s Encrypt Client 有一个自动更新命令,可自动检测当前安装的证书,并在证书即将过期的30天内自动续期证书。

要触发所有已安装域的自动续期程序,应运行:

因为我们最近安装了证书,该命令将检查证书过期日期并打印一条消息,告知该证书是不是因为续约呢。输出信息应该类似于:

确保您的证书永不过期一种实用的方法是创建一个cron计划任务,该任务程序将定期为您执行自动续期命令。 编辑crontab来创建每过一周就运行命令续期的计划任务。以root用户身份编辑crontab,运行:

按照下面的方式,填入任务安排:

保存并退出。这时,将创建一个新的cron计划任务:“在每周星期一凌晨2:30执行letsencrypt自动续期命令。” 而程序的日志文件会储存在 /var/log/le-renewal.log。

第5步 – 更新 Let’s Encrypt Client(可选)

每当有新版本的客户端发布时,您可以通过git更新您的 Let’s Encrypt 本地副本。

文章参考自http://www.111cn.net/wy/wordpress/114126.htm

http://www.myhack58.com/Article/sort099/sort0102/2016/73013.htm