一、前期准备

1️⃣ 拥有合法域名

✔️ 确保你对目标域名有管理权限(可通过域名注册商后台操作)。
 提示:部分新注未实名认证的域名无法通过校验

2️⃣ 选择 CA 机构

主流提供免费证书的平台推荐:

  • Let's Encrypt(最常用,自动化程度高)
  • Alibaba Cloud Free SSL(阿里云免费版)
  • Tencent Cloud Free SSL(腾讯云免费版)
    ✅ 首选建议:Let's Encrypt + ACME协议客户端工具组合(如Certbot),全程自动化且兼容性最佳。

二、核心步骤详解

 Step 1: 生成密钥与CSR文件(以Certbot为例)

打开终端/命令行工具,执行以下命令(以Nginx服务器为例):


bash

# 安装Certbot插件 sudo apt install certbot python3-certbot-nginx # Ubuntu示例 # 申请证书(自动完成DNS验证或HTTP验证) sudo certbot certonly --nginx -d yourdomain.com -d www.yourdomain.com

⚠️ 关键参数说明

  • --nginx:指定Web服务器类型(Apache/IIS需替换)
  • -d:列出所有要保护的域名(主域名+www子域必填)
     高级用法:如需通配符证书需单独申请 *.yourdomain.com
 Step 2: 完成身份验证

系统会提供两种验证方式供选择:
 DNS验证(推荐):
在域名DNS记录中添加指定的TXT记录(适用于多域名/野生卡场景)
 HTTP验证
临时上传特定文件至网站根目录(默认路径:/.well-known/acme-challenge/
✅ 优势对比:DNS验证支持更多复杂场景,但要求解析即时生效;HTTP验证操作简单但依赖服务器环境。

 Step 3: 部署证书文件

成功通过验证后,Certbot会自动:
1️⃣ 将证书合并为完整的链式文件(fullchain.pem)
2️⃣ 私钥保存为(privkey.pem)
3️⃣ 修改Nginx/Apache配置文件启用HTTPS
4️⃣ 设置自动重定向(http→https)
 手动部署参考(若未使用Certbot):


nginx

server { listen 443 ssl http2; server_name yourdomain.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; ... # 其他常规配置 }

 Step 4: 强制HTTPS跳转

在网站配置文件中添加301重定向规则:


nginx

server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; }

❗ 重要作用:避免混合内容警告,确保所有流量走加密通道。


三、验证“小绿锁”出现

⏳ 等待时间:完成部署后通常几分钟内生效,最长不超过24小时。
 排查要点

现象 原因 解决方案
仍显示不安全 存在混合内容(HTTP资源) 检查页面内嵌图片/脚本等资源是否改为HTTPS
证书不受信任 中间链缺失 确保已安装完整的中级CA证书链
多域名不全绿 未列全SAN扩展 重新申请时需包含所有子域

四、续期与维护

 自动续期:Let's Encrypt证书有效期仅90天,Certbot默认会添加计划任务自动续期。
 告警监控:建议设置邮件通知,及时处理续期失败等问题。
️ 安全加固

  • 启用HSTS头(Strict-Transport-Security)
  • 禁用旧版TLS协议(如TLS1.0/1.1)
  • 开启OCSP Stapling提高性能

常见问题FAQ

Q: 如果用的是CDN怎么办?
A: 需先在源站完成证书部署,然后在CDN控制台开启HTTPS加速并上传证书。

Q: 企业级项目能否使用免费证书?
A: 可以,但OV/EV证书更适合商业场景(需付费审核)。

Q: 为什么火狐浏览器没有小绿锁?
A: Firefox对EV证书才显示绿色地址栏,普通DV证书仅显示灰色锁形图标。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐