申请SSL证书并自动更新
Let’s Encrypt 是一个免费的SSL证书申请项目,这里衔接之前的hugo博客部署教程,介绍如何申请SSL证书。
1. certbot
根据网页指示,如果我们有shell access
,即SSH access
,则可以直接使用cerbot进行SSL证书的自动申请。进入网站后,根据实际情况选择自己的server
和系统环境,本案例中分别为Nginx
和Ubuntu 20.04.3 LTS
,选择好后会有详细的指示出现:
接下来根据指示可以进行,这里以我的情况为例介绍,其中包含一些可能出现的问题和解决情况。
2. 安装snapd
直接从命令行中通过以下命令下载:
sudo apt update
sudo apt install snapd
执行以下命令,确认使用最新版本的snapd:
sudo snap install core; sudo snap refresh core
3. 环境检查
如果之前曾经安装过certbot相关的包,需要进行移除,执行命令为:
sudo apt-get remove certbot
4. 安装certbot
确认无误后,安装certbot:
sudo snap install --classic certbot
安装后激活certbot
命令:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
5. 运行certbot
与官方指引不同,这里建议先申请证书:
sudo certbot certonly --nginx
之后可以再让Certbot自动编辑nginx配置以提供服务:
sudo certbot --nginx
5.1 hint
如果这一步出错,可以尝试先关闭port 80
:
netstat -apn|grep 80
找到占用80端口的pid:
关闭:
sudo kill -9 82941
之后再运行上述命令。
6. 更新证书
cerbot会在证书到期之前自动更新证书,无需手动操作。可以通过以下命令测试:
sudo certbot renew --dry-run
7. 访问网站
之后输入https:\\yourwebsite.com
,可以在网址状态栏看到锁的图标: