手把手教你如何给网站添加免费的HTTPS证书
写在前面
最近刚刚提交了离职申请,即将告别这家陪伴我九年多的公司,心中充满感恩。接下来在入职下一份工作前,会有一段相对空闲的时间,预计会以较高的频率更新博客内容。
如今,HTTPS 已成为现代网站的标配。不支持 HTTPS 的站点不仅会被主流浏览器标记为“不安全”,还可能被直接阻止访问。因此,为网站启用 HTTPS 不仅是提升安全性的必要措施,也是增强用户信任的关键一步。
本文将手把手带你完成免费 HTTPS 证书的申请与部署全过程。一些基础概念我们放在文末的【附录】中,感兴趣的同学可以进一步了解。
环境说明
- 云服务器提供商:火山引擎
- 域名托管平台:阿里云
- 操作系统:CentOS Stream 8
- Web 服务器:nginx/1.14.1
步骤一:申请免费 SSL 证书
国内主流云服务商(如阿里云、腾讯云、火山引擎等)均提供免费的 SSL 证书服务。通常每人每年可申请 20 张证书,每张有效期为 3 个月,到期后可重新申请,完全满足个人或测试站点的需求。
本文以 火山引擎 为例,演示证书申请流程。
1. 进入证书申请页面
访问 火山引擎证书中心,点击“免费证书”进行申请。
2. 填写申请信息
根据提示填写域名、联系人等信息。建议参考下图填写:
3. CA 机构自动验证
提交后,系统会自动触发 CA(证书颁发机构)的初步验证,通常只需 2–3 分钟。
4. 域名所有权验证
验证通过后,页面会显示用于域名验证的 DNS 记录信息(通常为 TXT 类型),你需要将该记录添加到域名解析中。
5. 添加 DNS 解析记录
登录你的域名管理后台(如阿里云控制台),添加对应的 TXT 记录。
6. 检查配置并等待签发
返回证书管理页面,点击“检查配置”。系统通常会在 10 分钟内完成验证。验证成功后,证书状态将变为“已签发”。
步骤二:下载并部署证书到 Nginx
1. 下载证书
在证书管理界面,选择 Nginx 类型下载证书包(例如:zengmx.com_nginx.tar)。
2. 上传证书文件
将解压后的两个文件(.key 和 .pem)上传至服务器,建议存放路径为 /etc/nginx/cert/:
1 | [root@iv-ydtka cert]# pwd |
3. 修改 Nginx 配置
编辑 Nginx 主配置文件(如 /etc/nginx/nginx.conf 或站点专属配置),添加 HTTPS 监听块:
1 | server { |
⚠️ 注意:确保已开放服务器防火墙的 443 端口,并保留原有的 80 端口重定向(可选)以实现 HTTP 自动跳转 HTTPS。
4. 重启 Nginx
执行以下命令使配置生效:
1 | nginx -t && systemctl reload nginx |
现在,你就可以通过 https://zengmx.com 安全访问你的网站了!
🔗 访问我的个人空间
附录:核心概念
什么是 SSL 证书?
SSL 证书是由 WebTrust 认证的权威 CA(Certificate Authority,证书颁发机构)签发的数字凭证,具备 身份验证 与 数据加密 双重功能。它基于 SSL/TLS 协议,在应用层(如 HTTP)与传输层(TCP/IP)之间建立安全通道,保障通信的机密性、完整性和真实性。
SSL/TLS 加密原理简述
SSL/TLS 采用 混合加密机制:
- 非对称加密 用于身份认证和密钥交换;
- 对称加密 用于后续高效的数据传输。
证书生成与验证流程:
- 服务器生成密钥对(如 RSA 2048 或 ECC 256),并向 CA 提交 CSR(证书签名请求)。
- CA 通过 DNS 或文件方式验证域名所有权后,使用其私钥对服务器公钥进行数字签名,生成标准 X.509 证书。
- 浏览器通过信任链(根证书 → 中间证书 → 服务器证书)逐级验证,防止伪造。
TLS 握手过程(简化):
- 客户端发送
ClientHello,包含支持的加密套件和随机数; - 服务器回应
ServerHello,选定加密算法并发送证书链; - 客户端验证证书有效性(域名匹配、未过期、未吊销);
- 客户端生成“预主密钥”,用服务器公钥加密后发送;
- 双方基于预主密钥和随机数,推导出相同的会话密钥;
- 后续通信使用该会话密钥进行对称加密(如 AES),兼顾安全与性能。
为什么必须使用 HTTPS?
未启用 HTTPS 的网站如同在互联网上“裸奔”:
- 所有数据(包括密码、银行卡号等)以明文传输,极易被中间人攻击截获;
- 浏览器会明确标记为“不安全”,导致用户流失;
- 可能违反 GDPR、PCI DSS、等保 2.0 等合规要求,面临法律风险。
启用 HTTPS 后:
- 数据即使被截获也极难破解;
- 浏览器地址栏显示锁形图标(或企业名称,EV 证书),显著提升用户信任;
- 满足多项国际安全标准,为业务合规打下基础。
✅ 总结:借助云厂商提供的免费证书,配合 Nginx 简单配置,即可快速为网站启用 HTTPS。这不仅是技术最佳实践,更是对用户负责的表现。
如有任何疑问,欢迎留言交流!





