ZeroSSL是一个提供免费SSL证书申请服务的平台,支持单域名DV证书的免费申请。该平台基于ACME协议,提供友好的Web界面和API接口,支持自动化证书管理。本文将详细介绍如何使用ZeroSSL申请免费SSL证书,包括注册、申请流程、验证方式和ACME自动化配置。
一、ZeroSSL平台介绍
1. 平台特点
免费SSL证书:
- 提供免费DV单域名证书
- 证书有效期90天
- 支持ACME协议自动化管理
- 受所有主流浏览器信任
证书类型:
- 单域名证书(免费)
- 多域名证书(付费)
- 通配符证书(付费)
验证方式:
- HTTP验证
- DNS验证
- 邮箱验证
ACME支持:
- 支持ACME v2协议
- 可以使用acme.sh、Certbot等工具
- 提供API接口
2. 适用场景
- 个人网站和博客
- 小型企业网站
- 需要免费单域名证书的场景
- 需要ACME自动化的场景
二、注册和登录
1. 注册账号
访问ZeroSSL官网,点击"Sign Up"按钮:
- 填写邮箱地址
- 设置密码
- 完成邮箱验证
2. 登录平台
使用注册的邮箱和密码登录ZeroSSL平台。
三、申请免费SSL证书
1. 创建证书申请
- 登录后,点击"SSL Certificates"
- 点击"New Certificate"
- 选择"90 Day Certificate"(免费)
2. 填写域名信息
- 输入要申请证书的域名
- 例如:www.example.com 或 example.com
- 注意:免费证书只支持单域名
3. 选择验证方式
ZeroSSL提供三种验证方式:
HTTP验证:
- 需要在服务器上创建验证文件
- 适合有服务器访问权限的场景
DNS验证:
- 需要在DNS服务商添加TXT记录
- 适合无法在服务器上创建文件的场景
邮箱验证:
- 向域名管理员邮箱发送验证邮件
- 点击邮件中的链接完成验证
4. 完成验证
HTTP验证步骤:
- 系统显示验证文件路径和内容
- 在服务器上创建验证文件
- 确保可以通过HTTP访问验证文件
- 点击"Verify Domain"完成验证
DNS验证步骤:
- 系统显示需要添加的TXT记录
- 在DNS服务商处添加TXT记录
- 等待DNS解析生效(通常几分钟)
- 点击"Verify Domain"完成验证
邮箱验证步骤:
- 选择域名管理员邮箱
- 系统发送验证邮件
- 点击邮件中的验证链接
- 完成验证
5. 下载证书
验证通过后,可以下载证书文件:
- 证书文件(Certificate)
- 私钥文件(Private Key)
- 证书链文件(Certificate Chain)
四、使用ACME自动化申请
1. 使用acme.sh
安装acme.sh:
curl https://get.acme.sh | sh
申请证书:
# 使用HTTP验证
~/.acme.sh/acme.sh --issue -d example.com --webroot /var/www/html
# 使用DNS验证(以Cloudflare为例)
export CF_Email="your-email@example.com"
export CF_Key="your-api-key"
~/.acme.sh/acme.sh --issue -d example.com --dns dns_cf
安装证书:
~/.acme.sh/acme.sh --install-cert -d example.com \
--key-file /path/to/key.pem \
--fullchain-file /path/to/fullchain.pem \
--reloadcmd "systemctl reload nginx"
2. 使用Certbot
安装Certbot:
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install certbot
# CentOS/RHEL
sudo yum install certbot
申请证书:
# 使用HTTP验证
sudo certbot certonly --webroot -w /var/www/html -d example.com
# 使用DNS验证
sudo certbot certonly --manual --preferred-challenges dns -d example.com
3. 配置自动更新
acme.sh自动更新: acme.sh会自动创建cron任务,定期检查并更新证书。
Certbot自动更新:
# 测试自动更新
sudo certbot renew --dry-run
# 设置自动更新(certbot会自动创建systemd timer)
五、证书配置
1. Nginx配置
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
ssl_trusted_certificate /path/to/chain.crt;
# SSL配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 其他配置...
}
2. Apache配置
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key
SSLCertificateChainFile /path/to/chain.crt
# SSL配置
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
# 其他配置...
</VirtualHost>
六、证书更新
1. 手动更新
证书到期前,需要手动更新:
- 登录ZeroSSL平台
- 找到需要更新的证书
- 点击"Renew"按钮
- 重新完成验证
- 下载新证书并更新到服务器
2. 自动更新
使用ACME工具可以实现自动更新:
- acme.sh会自动更新证书
- Certbot可以配置自动更新
- 确保证书在到期前更新
七、API使用
1. 获取API密钥
- 登录ZeroSSL平台
- 进入"Developer"页面
- 创建API密钥
- 保存API密钥
2. 使用API申请证书
# 创建证书
curl -X POST https://api.zerossl.com/certificates \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "certificate_domains=example.com" \
-d "certificate_validity_days=90" \
-d "certificate_csr=$(cat csr.txt)"
3. 验证域名
# HTTP验证
curl -X POST https://api.zerossl.com/certificates/{id}/challenges \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "validation_method=HTTP_CSR_HASH"
八、常见问题
1. 验证失败
可能原因:
- DNS记录未生效
- HTTP验证文件无法访问
- 验证超时
解决方法:
- 检查DNS解析
- 检查HTTP验证文件路径
- 等待DNS解析生效后重试
2. 证书下载失败
可能原因:
- 证书未签发成功
- 网络问题
解决方法:
- 检查证书状态
- 重新下载证书
- 检查网络连接
3. 免费证书限制
限制说明:
- 免费证书只支持单域名
- 证书有效期90天
- 需要定期更新
解决方案:
- 使用ACME工具自动更新
- 或升级到付费证书获得更长有效期
九、与OHTTPS的对比
1. 功能对比
| 特性 | ZeroSSL | OHTTPS |
|---|---|---|
| 免费证书 | ✅ 单域名 | ✅ 单域名/多域名/通配符 |
| 证书有效期 | 90天 | 90天 |
| 自动更新 | ⚠️ 需ACME工具 | ✅ 平台自动 |
| 自动部署 | ❌ | ✅ |
| 证书监控 | ❌ | ✅ |
| 多域名证书 | ❌ 免费 | ✅ 免费 |
| 通配符证书 | ❌ 免费 | ✅ 免费 |
2. 适用场景
ZeroSSL适合:
- 只需要单域名证书
- 熟悉ACME协议
- 可以自行配置自动更新
OHTTPS适合:
- 需要多域名或通配符证书
- 需要自动化管理
- 需要自动部署和监控
总结
ZeroSSL是一个提供免费SSL证书申请服务的平台,支持单域名DV证书的免费申请。通过ZeroSSL,您可以免费申请SSL证书,并使用ACME工具实现自动化管理。
如果您需要多域名或通配符证书,或者需要更完整的自动化管理功能(如自动部署、证书监控),建议使用OHTTPS平台,它提供了更全面的证书管理服务。
OHTTPS: 免费HTTPS证书/SSL证书申请 • 自动化更新、部署、监控
OHTTPS 支持通过多种域名验证方式(DNS验证、HTTP验证、文件验证等)申请免费的HTTPS证书/SSL证书,包括单域名证书、多域名证书、通配符证书、IP证书等,支持HTTPS证书/SSL证书的自动化更新、自动化部署、自动化监控及告警等,并支持将HTTPS证书/SSL证书自动化部署至阿里云、腾讯云、群晖NAS、百度云、七牛云、多吉云、又拍云、宝塔面板、Docker容器、SSH等,实现HTTPS证书/SSL证书的一站式申请、更新、部署、监控和管理。