[点晴永久免费OA]如何为 HTTPS 服务申请 Let's Encrypt 免费 SSL 证书
|
admin
2026年3月17日 15:52
本文热度 42
|
上期发布的《搭建Nginx反向代理服务器》反响还不错,在该文章中介绍的是HTTP,为了进一步提高安全,本期介绍如何申请免费的SSL证书,实现HTTPS。Let's Encrypt是一个免费的、自动化的、开放的证书颁发机构,也是本期的主角。
4、该服务器开放80/443端口用于Let's Encrypt验证
1、Certbot是Let's Encrypt官方推荐的自动化申请工具,支持多种Linux发行版,这里使用Ubuntu版本。sudo apt update
sudo apt install certbot python3-certbot-nginx -y
通配符证书必须通过DNS验证方式申请,因为Let's Encrypt需要验证您对域名的控制权。1、执行以下命令开始申请通配符证书,执行完之后不要点击Enter键,要等确定TXT记录生效之后才能点击Enter键:sudo certbot certonly --manual --preferred-challenges=dns \ --server https://acme-v02.api.letsencrypt.org/directory \ --agree-tos -m your-email@example.com \ -d '*.simple.com' -d simple.com
参数说明:
--manual:使用手动交互模式获取证书
--preferred-challenges=dns:指定DNS方式验证,使用DNS TXT记录进行验证
-d '*.simple.com':通配符域名,覆盖所有一级子域名
-d simple.com:同时包含主域名(可选)
--agree-tos:同意Let's Encrypt服务条款
-m your-email@example.com:您的邮箱地址,用于安全提醒和续期通知
2、登录域名控制台,按照控制台输出的信息,添加TXT记录
使用nslookupnslookup -type=txt _acme-challenge.simple.com
当命令返回的结果中包含您设置的TXT记录值时,说明DNS记录已生效。此时返回Certbot交互窗口,按回车键继续。4、成功之后,会让你新建第二条TXT记录,域名与第一条一样,但是内容不同,注意要保存第一条TXT记录,不要删除了5、登录域名控制台,按照控制台输出的信息,添加第二条TXT记录使用nslookupnslookup -type=txt _acme-challenge.simple.com
当命令返回的结果中包含您设置的两条TXT记录值时,说明DNS记录已生效。此时返回Certbot交互窗口,按回车键继续。7、DNS验证通过后,Certbot将自动生成证书文件。成功后会显示类似以下信息:1、Certbot默认会安装自动续期服务,您可以通过以下命令验证sudo systemctl status certbot.timer
sudo systemctl list-timers | grep certbot
sudo crontab -e0 0 1 * * /usr/bin/certbot renew --quiet
为确保证书更新后Nginx能立即使用新证书,可以修改certbot服务配置sudo vim /usr/lib/systemd/system/certbot.service
ExecStart=/usr/bin/certbot -q renew --deploy-hook "/usr/sbin/nginx -s reload"
通配符证书*.simple.com仅支持一级子域名(如oa.simple.com),无法覆盖dev.oa.simple.com这样的多级子域名为多级子域名单独申请证书或使用*.oa.simple.com
阅读原文:https://mp.weixin.qq.com/s/-3OqyeHrbuG72k39wUsuFw
该文章在 2026/3/18 10:51:57 编辑过