免费!如何为HTTPS服务申请SSL证书

admin 2026-03-13 01:49:47 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细讲解利用Let’sEncrypt和Certbot为Nginx申请免费SSL证书实现HTTPS的操作流程。重点涵盖通配符证书的DNS验证步骤,包括TXT记录添加与生效验证,以及配置自动续期与Nginx重载的方法。文末提示通配符仅覆盖一级子域名的限制并提供解决思路,是一份实用的安全建设指南。 综合评分: 83 文章分类: 安全建设,WEB安全,安全工具


cover_image

免费!如何为HTTPS服务申请SSL证书

原创

simple安全团队 simple安全团队

simple安全团队

2026年3月12日 12:00 湖北

概述

上期发布的《搭建Nginx反向代理服务器》反响还不错,在该文章中介绍的是HTTP,为了进一步提高安全,本期介绍如何申请免费的SSL证书,实现HTTPS。

Let’s Encrypt是一个免费的、自动化的、开放的证书颁发机构,也是本期的主角。


前置条件

1、指向服务器的有效域名,如simple.com

2、已安装Nginx的服务器

3、拥有该服务器的管理员权限(sudo)

4、该服务器开放80/443端口用于Let’s Encrypt验证


详细操作步骤

步骤一:安装Certbot工具

1、Certbot是Let’s Encrypt官方推荐的自动化申请工具,支持多种Linux发行版,这里使用Ubuntu版本。

# 更新软件包列表sudo apt update
# 安装Certbot及Nginx插件sudo apt install certbot python3-certbot-nginx -y

2、安装完成后,验证Certbot是否安装成功

certbot --version

步骤二:申请通配符证书(DNS验证方式)

通配符证书必须通过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 [email protected] \  -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 [email protected]:您的邮箱地址,用于安全提醒和续期通知

2、登录域名控制台,按照控制台输出的信息,添加TXT记录

3、验证TXT记录是否生效

使用nslookupnslookup -type=txt _acme-challenge.simple.com

当命令返回的结果中包含您设置的TXT记录值时,说明DNS记录已生效。此时返回Certbot交互窗口,按回车键继续。

4、成功之后,会让你新建第二条TXT记录,域名与第一条一样,但是内容不同,注意要保存第一条TXT记录,不要删除了

5、登录域名控制台,按照控制台输出的信息,添加第二条TXT记录

6、验证TXT记录是否生效

使用nslookupnslookup -type=txt _acme-challenge.simple.com

当命令返回的结果中包含您设置的两条TXT记录值时,说明DNS记录已生效。此时返回Certbot交互窗口,按回车键继续。

7、DNS验证通过后,Certbot将自动生成证书文件。成功后会显示类似以下信息:

证书有效期为90天,到期前需要续期

步骤三:配置自动续期

1、Certbot默认会安装自动续期服务,您可以通过以下命令验证

# 检查定时器状态sudo systemctl status certbot.timer
# 查看系统级定时任务sudo systemctl list-timers | grep certbot

2、如果未配置自动续期,可以手动添加cron任务

sudo crontab -e# 添加以下行(每月1号凌晨0点执行续期)0 0 1 * * /usr/bin/certbot renew --quiet

3、续期后自动重载Nginx

为确保证书更新后Nginx能立即使用新证书,可以修改certbot服务配置

sudo vim /usr/lib/systemd/system/certbot.service
# 在ExecStart行添加--deploy-hook参数ExecStart=/usr/bin/certbot -q renew --deploy-hook "/usr/sbin/nginx -s reload"

注意事项

1、证书不覆盖多级子域名

通配符证书*.simple.com仅支持一级子域名(如oa.simple.com),无法覆盖dev.oa.simple.com这样的多级子域名

2、解决方案

为多级子域名单独申请证书或使用*.oa.simple.com


END

查看更多精彩内容,关注simple安全团队


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:simple安全团队 simple安全团队 simple安全团队《免费!如何为HTTPS服务申请SSL证书》

评论:0   参与:  0