Skip to main content

使用ZeroSSL申请免费SSL证书完整教程

· 6 min read
OHTTPS

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. 创建证书申请​

  1. 登录后,点击"SSL Certificates"
  2. 点击"New Certificate"
  3. 选择"90 Day Certificate"(免费)

2. 填写域名信息​

  • 输入要申请证书的域名
  • 例如:www.example.com 或 example.com
  • 注意:免费证书只支持单域名

3. 选择验证方式​

ZeroSSL提供三种验证方式:

HTTP验证:

  • 需要在服务器上创建验证文件
  • 适合有服务器访问权限的场景

DNS验证:

  • 需要在DNS服务商添加TXT记录
  • 适合无法在服务器上创建文件的场景

邮箱验证:

  • 向域名管理员邮箱发送验证邮件
  • 点击邮件中的链接完成验证

4. 完成验证​

HTTP验证步骤:

  1. 系统显示验证文件路径和内容
  2. 在服务器上创建验证文件
  3. 确保可以通过HTTP访问验证文件
  4. 点击"Verify Domain"完成验证

DNS验证步骤:

  1. 系统显示需要添加的TXT记录
  2. 在DNS服务商处添加TXT记录
  3. 等待DNS解析生效(通常几分钟)
  4. 点击"Verify Domain"完成验证

邮箱验证步骤:

  1. 选择域名管理员邮箱
  2. 系统发送验证邮件
  3. 点击邮件中的验证链接
  4. 完成验证

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. 手动更新​

证书到期前,需要手动更新:

  1. 登录ZeroSSL平台
  2. 找到需要更新的证书
  3. 点击"Renew"按钮
  4. 重新完成验证
  5. 下载新证书并更新到服务器

2. 自动更新​

使用ACME工具可以实现自动更新:

  • acme.sh会自动更新证书
  • Certbot可以配置自动更新
  • 确保证书在到期前更新

七、API使用​

1. 获取API密钥​

  1. 登录ZeroSSL平台
  2. 进入"Developer"页面
  3. 创建API密钥
  4. 保存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. 功能对比​

特性ZeroSSLOHTTPS
免费证书✅ 单域名✅ 单域名/多域名/通配符
证书有效期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证书的一站式申请、更新、部署、监控和管理。