letsencrypt已经比较成熟了,各种开源客户端也都出现了,这篇文章比较了一下其特点。
我用的是letsencrypt.sh,用起来比较方便。
- git clone https://github.com/lukas2511/letsencrypt.sh letsencrypt
- cd letsencrypt
- cp config.sh.example config.sh
- vi config.sh
- 修改路径
- vi domains.txt.example domains.txt
- 修改成自己的网址
- 修改nginx,添加
location /.well-known/acme-challenge { alias /var/www/letsencrypt; }
- 配置当前用户对 /var/www/letsencrypt的权限
- service nginx restart
- ./letsencrypt.sh -c
等待成功。 - 修改nginx 443监听部分
ssl on; ssl_certificate /yourpath/fullchain.pem; ssl_certificate_key /yourpath/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers on;
这里也有通过手动获取证书的方式。