10分钟让Ghost博客全站免费用上HTTPS

Let's Encrypt 是一个于2015年末推出的数字证书认证机构,为网站提供免费的SSL/TLS证书。LET’S ENCRYPT现已全面进入公测阶段,任何人都可以免费申请。

本文在Debian下测试有效,理论上也支持Ubuntu。

获取证书

连接服务器,输入以下命令

apt-get install git  
git clone https://github.com/letsencrypt/letsencrypt  
cd letsencrypt  
./letsencrypt-auto certonly --server https://acme-v01.api.letsencrypt.org/directory --agree-dev-preview

ssl domain input 以上命令执行完毕后会依次要求输入Email地址,同意协议,输入域名(多个域名用空格隔开),一路OK下来,出现以下提示则说明证书申请成功。

- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.denpe.com/fullchain.pem. Your cert will
expire on 2016-01-25. To obtain a new version of the certificate in  
the future, simply run Let's Encrypt again.  

Let's Encrypt 的认证的信息保存在 /etc/letsencrypt目录,建议备份此目录。

配置Nginx

Nginx配置文件中SSL证书路径为(注意替换域名)

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

如果之前没用 HTTPS,Nginx 配置要添加的新内容很多。 先运行以下命令

openssl dhparam -out /etc/ssl/private/dhparams_2048.pem 2048  

然后详见 https://www.denpe.com/nginx-speed-up-ghost/#ssl 复制完整配置文件,将denpe.com相关内容替换成自己域名。

Nginx配置和Ghost配置是关联的,强烈建议先完整操作一遍:配置Nginx提高Ghost性能

配置Ghost

修改ghost安装目录下的config.js,将第17行url改为https协议的链接。

重启生效

重启Nginx和Ghost

service nginx restart  
pm2 restart ghost