使用Certbot为Ubuntu服务器获取免费SSL证书 (已测试)
已测试环境 (Ubuntu)
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
实现步骤
假设服务器域名是domain.server.com.xx
- 在服务器上运行:
sudo certbot certonly --manual -d domain.server.com.xx --agree-tos --manual-public-ip-logging-ok --preferred-challenges http-01 --server https://acme-v02.api.letsencrypt.org/directory --register-unsafely-without-email --rsa-key-size 4096
- 根据提示,在 /var/www/html/.well-known/acme-challenge/ 目录下创建一个包含所要求内容的文件。
更新文件权限:sudo chmod 755 [auth_file_name]
更新文件所有权:sudo chown www-data:www-data [auth_file_name]
- 根据提示继续,获取两个证书文件的路径: xxx/fullchain.pem 和 xxx/privkey.pem,以下为分割和重命名,以便后续操作。
(CERTIFICATE 代码块: 由“—BEGIN CERTIFICATE—”和“—END CERTIFICATE—”分割)
fullchain.pem: 第一个代码块 -> certificate.txt
fullchain.pem: 下一个(或两个)代码块 -> ca-bundle.txt
privkey.pem -> private-key.txt - 将三个文件上传到服务器上的以下位置:
certificate.txt -> /etc/ssl/certs/domain.server.com.xx.crt (权限:644)
ca-bundle.txt -> /etc/ssl/certs/ca-bundle.crt (权限:644)
private-key.txt -> /etc/ssl/private/domain.server.com.xx.key (权限:644) - 重启 Apache 服务:
sudo systemctl restart apache2
若成功生成,SSL证书有效期为90天。90天后采取相同操作再次更新。