让你的网站秒配 HTTPS 证书

让你的网站秒配 HTTPS 证书

Posted by Angkee on August 31, 2017

原谅我当一次标题党 \^_^

网站为什么要配置 HTTPS,以及配置 HTTPS 有什么优点就不再解释了,我们直奔主题,使用 Certbot 工具让你的网站秒配 HTTPS 证书。

Certbot

介绍

Certbot is an easy-to-use client that fetches a certificate from Let’s Encrypt—an open certificate authority launched by the EFF, Mozilla, and others—and deploys it to a web server. Certbot是由 Let’s Encrypt 一个开放免费证书颁发机构的EFF、Mozilla和其他开发者推出的,易于客户端获取网站加密证书。 自嘲:英语翻译的好烂(\^o^)

特点

  • 简单易用、免费
  • 自动化配置证书
  • 效率极高,一次安装,再配置其他站点 https 证书只需要 3 分钟

官方网站: https://certbot.eff.org

certbot官方网站.png

  1. 选择自己的服务器和操作系统环境,Certbot 官方会给出详细的安装过程和使用方法,我的环境是 Nginx + Ubuntu 14.04,安装过程如下
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx

安装成功之后把 certbot 加入系统全局变量 PATH 中。

  1. 获取证书前需要先停止 Nginx 服务

    service nginx stop

  2. 生成单域名证书

    certbot certonly –standalone –email your@email.com -d yourdomain.com

一次生成多域名证书:

certbot certonly –standalone –email your@email.com -d yourdomain.com -d yourdomain2.com

证书配置成功后提示: image.png

  1. 查看网站生成的证书

    tree /etc/letsencrypt/live/

  2. 配置 Nginx ``` …… 其他配置

listen 443 ssl;

ssl_certificate /etc/letsencrypt/live/{yourdomain}.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/{yourdomain}.com/privkey.pem; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ```

  1. 重启 Nginx

    service nginx start

此时再加上 https:// 访问你的网站,就会有一把可爱别致的小绿锁 Secure\^_^

Let’s Encrypt 生成的免费证书为3个月时间,使用 certbot renew 可以无限免费续签 Https 证书

certbot renew

  • 在生成证书的时候遇到一个问题 Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping

这是因为 nginx 服务没有关闭,执行 service nginx stop 即可。

觉得有用是不是该点赞呢?