Let’s Encrypt

去年开始把博客升级成全站 https,用的是在阿里云申请的一年免费 WoSign 证书,原本准备等到期了再换的,但是最近博客被 Google 浏览器标记为不安全,所以不得不提前切换到 Let’s Encrypt 证书。


1. Let’s Encrypt 是什么?

想要在网站上启用 HTTPS 的话,你需要从证书颁发机构(CA)获取证书。Let’s Encrypt 就是一个免费的 CA。

2. 怎么申请 Let’s Encrypt 证书?

Let’s Encrypt 网站上面详细介绍了 With Shell Access 和 Without Shell Access 应该怎么申请证书,这里我们使用 Certbot。首先我们在服务器上安装 Certbot。

sudo apt install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt-get update

sudo apt-get install certbot

然后执行 certbot certonly,按照提示一步一步操作,证书就生成好了。

3. 配置 nginx 使用 Let’s Encrypt 证书。

在 /etc/letsencrypt/live/your.domain/ 目录下面找到你的证书文件,然后修改 nginx 配置文件。

ssl_certificate /etc/letsencrypt/live/tanghengzhi.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tanghengzhi.com/privkey.pem;

修改完成之后不要忘了重启 nginx。

sudo nginx -s reload

最后再打开浏览器验证一下。

4. 定期更新证书

Let’s Encrypt 证书的有效期为 90 天,所以每隔三个月就要重新申请一次证书。

certbot renew

参考:

https://letsencrypt.org/getting-started/

https://certbot.eff.org/

398 total views, 1 views today

升级 Ubuntu Server 16.04

Ubuntu Server 16.04 更新了,自带了 PHP 7.0, Mysql 5.7, 而且终于可以脱离尴尬的 nodejs 命令用上 node 了, 所以果断升级。


1. 准备工作

最近使用 “apt-get update” 命令一直出现 “Hashsum mismatch” 错误,可能是阿里云的 Ubuntu 更新源缓存问题,于是尝试切换到 163 mirros。

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

sudo wget http://mirrors.163.com/.help/sources.list.trusty

sudo mv sources.list.trusty /etc/apt/sources.list

再次运行 “apt-get update”,果然一切正常。(为什么在我的潜意思里面总是会觉得网易要比阿里靠谱一点呢?)

但是我的阿里云服务器在美国,访问 163 的镜像有点慢,所以最后还是切换打算到官方源。

网上没有找到现成的sources.list 文件可以下载,直接在 vim 里面做了一次批量替换。

:%s/mirrors.163.com/archive.ubuntu.com/g

2. 开始升级

Ubuntu 版本升级其实蛮简单的,首先获取 dist-upgrade。

apt-get dist-upgrade

然后运行 do-release-upgrade,重新启动,就大功告成了。

do-release-upgrade -d

3. 升级之后遇到的问题

升级之后需要重新安装 php 和重新配置 nginx,所以建议还是不要直接在生产环境直接升级。

如果一定要使用 Ubuntu 16.04 Server 的话,还是重新安装一台,然后迁移过去比较靠谱。


参考:

Ubuntu镜像使用帮助

http://mirrors.163.com/.help/ubuntu.html

Ubuntu Server 14.04升级Ubuntu Server 16.04

http://blog.csdn.net/chszs/article/details/51236698

591 total views, no views today