为了网站的安全性,或者为了某些原因要开启https但又不想花钱买证书怎么办?好在有Let’s Encrypt帮忙,而certbot则简化了Let’s Encrypt的部署过程。这里介绍给nginx启用https,certbot有nginx的选项,但是如果某些不明原因配置失败,就只能手工配置了。
wget https://dl.eff.org/certbot-auto
chmod a+x /usr/local/sbin/certbot-auto
location /.well-known {
alias /path/to/.well-known;
}
certbot certonly --webroot -w /path/to/ -d domain.com
如果不想输入邮件的话可以加上--register-unsafely-without-email, 成功之后会告诉你证书和密钥的目录位置,然后在nginx上配置https就可以了
server {
listen 443 ssl;
...
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
...
}
certbot renew
必要时需要重启必要时需要重启nginx
nginx -s reload