Let's Encrypt 申请通配符证书

从2018年3月开始, Let’s Encript 支持通配符证书, 也就是一个域名下的多个子域名, 只需要申请一个证书.
免去了每增加一个新(xiao)站(ye)点(mian)就要申请一次证书的麻烦.

  1. 安装 certbot 和 python-certbot-nginx

    1
    2
    3
    4
    5
    6
    sudo apt-get update
    sudo apt-get install software-properties-common
    sudo add-apt-repository universe
    sudo add-apt-repository ppa:certbot/certbot
    sudo apt-get update
    sudo apt-get install certbot python-certbot-nginx
  2. 安装 certbot dnspod 插件

    1
    2
    # 需安装 pip3
    pip3 install certbot-dns-dnspod
  3. 执行脚本

    1
    2
    # 其中 wzdxy.com 就是自己的域名
    sudo certbot certonly -a certbot-dns-dnspod:dns-dnspod --certbot-dns-dnspod:dns-dnspod-credentials ~/dnspod/credentials.ini -d wzdxy.com -d "*.wzdxy.com"
  4. 记住生成的证书和 key, 在服务器里配置 ssl

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    server{
    listen 80;
    listen [::]:80;
    server_name blog.wzdxy.com;
    root /var/www/blog-hexo/public;
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/wzdxy.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wzdxy.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    if ($scheme != "https") {
    return 301 https://$host$request_uri;
    }
    }
  5. 自动续订

    1
    sudo certbot renew --dry-run