将网站添加小绿标–https
经过仔细研究,使用lets encrypt添加小绿标应该是最方便快捷堪称弱智的操作。
但是即使如此弱智,我也出了问题。
应该是以前安装python的一些环境没有弄好,而lets encrypt是依赖于py的,所以我一直报错…
最后我忍无可忍,决定,开台新的服务器,全部迁过去。
我的服务比较少,用手指头就能数清,所以完全无所谓
于是我先进行了一次迁站工作。
接下来是正题
第1步 – 安装服务器依赖
我们需要做的第一件事是更新包管理器缓存:
sudo apt-get update
我们需要用git来下载Let’s Encrypt Client。安装git,运行:
sudo apt-get install git
第2步 – 下载 Let’s Encrypt Client
Clone Let’s Encrypt Client 到 /opt 文件夹。
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
第3步 – 设置SSL证书
Let’s Encrypt client 能够自动化生成 Apache SSL证书,用起来还是很方便的。
访问letsencrypt目录:
cd /opt/letsencrypt
要执行交互式安装程序,并获得单个域名的证书。运行 letsencrypt-auto 命令的方法:
./letsencrypt-auto --apache -d example.com
如果你要为多个域或子域获得证书,可以用下面这种方式:
./letsencrypt-auto --apache -d example.com -d www.example.com
当安装完成后,你可以在/etc/letsencrypt/live文件夹中找到证书文件,并且将它复制、转换安装到Nginx服务器上。您可以用下面的链接验证您的SSL证书状态:
https://www.ssllabs.com/ssltest/analyze.html?d=wikimilk.org&latest
现在,你应该可以使用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天内自动续期证书。
要触发所有已安装域的自动续期程序,应运行:
./letsencrypt-auto renew
因为我们最近安装了证书,该命令将检查证书过期日期并打印一条消息,告知该证书是不是因为续约呢。输出信息应该类似于:
Checking for new version... Requesting root privileges to run letsencrypt... /root/.local/share/letsencrypt/bin/letsencrypt renew Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted.
确保您的证书永不过期一种实用的方法是创建一个cron计划任务,该任务程序将定期为您执行自动续期命令。 编辑crontab来创建每过一周就运行命令续期的计划任务。以root用户身份编辑crontab,运行:
sudo crontab -e
按照下面的方式,填入任务安排:
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
保存并退出。这时,将创建一个新的cron计划任务:“在每周星期一凌晨2:30执行letsencrypt自动续期命令。” 而程序的日志文件会储存在 /var/log/le-renewal.log。
第5步 – 更新 Let’s Encrypt Client(可选)
每当有新版本的客户端发布时,您可以通过git更新您的 Let’s Encrypt 本地副本。
cd /opt/letsencrypt sudo git pull
文章参考自http://www.111cn.net/wy/wordpress/114126.htm
http://www.myhack58.com/Article/sort099/sort0102/2016/73013.htm