Skip to main content

为博客添加 https

· 2 min read

这次使用 python3-certbot-nginx 为网站添加 https,步骤简单,方便好用。当前的服务器版本为 debian 10,添加 https 的步骤如下:

安装之前,更新包列表:

sudo apt update

安装对应的包依赖:

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

安装完依赖后,安装 python3-certbot-nginx

sudo apt install python3-certbot-nginx

安装完毕后,需要查看对应的 nginx 配置:

sudo nano /etc/nginx/sites-available/your_domain

配置文件中需包含以下内容:

...
server_name your_domain www.your_domain;
...

如果没有找到对应文件,可以新建一个配置文件。

保存配置文件后重启 nginx 服务:

sudo systemctl reload nginx

接下来,需要使用 ufw 设置防火墙规则,允许 https 流量访问:(未设置防火墙可以跳过此步骤)

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo ufw status

输出结果如下:

Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)

下一步,是获取 SSL 证书:

sudo certbot --nginx -d your_domain -d www.your_domain

配置完成后,就可以进行 SSL Labs Server Test 并查看评分了。

Let's Encrypt 的证书有效期只有 90 天,因此需要设置证书自动更新:

sudo certbot renew --dry-run

至此,设置完成。