Hi Phone Chan home

服务器开启https

为了网站的安全性,或者为了某些原因要开启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

配置nginx

    location /.well-known {
        alias /path/to/.well-known;
    }

执行脚本

    certbot certonly --webroot -w /path/to/ -d domain.com

如果不想输入邮件的话可以加上--register-unsafely-without-email, 成功之后会告诉你证书和密钥的目录位置,然后在nginx上配置https就可以了

配置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

参考

top
Fork me on GitHub