前言

HTTPS已经成为现代网站的标配,它通过SSL/TLS加密保护用户数据传输安全,同时也是搜索引擎排名的重要因素。本文将详细介绍如何在线免费申请HTTPS证书,并将其部署到Nginx服务器。

什么是在线申请HTTPS证书?

在线申请HTTPS证书是指通过基于ACME协议的SSL证书服务平台,无需安装命令行工具,在网页上即可完成证书的申请、验证和下载。相比传统的certbot、acme.sh等命令行工具,在线申请更加直观,适合不熟悉命令行的用户。

申请前的准备工作

在开始申请之前,您需要准备以下内容:

  • 域名:已注册并正常解析的域名(如 example.com)
  • DNS管理权限:能够添加DNS记录(TXT类型),用于域名所有权验证
  • 服务器:一台已安装Nginx的服务器(用于部署证书)

第一步:填写域名信息

登录HiOFD SSL证书服务平台后,点击「申请证书」。在域名输入框中填写您需要保护的域名。支持以下类型:

  • 单域名:如 www.hiofd.com
  • 多域名:如 hiofd.com, www.hiofd.com, ssl.hiofd.com
  • 通配符域名:如 *.hiofd.com(保护所有子域名)

选择加密算法(推荐RSA 2048,兼容性最好),然后选择CSR生成方式——可以系统自动生成,也可以上传您自己生成的CSR文件。

第二步:选择验证方式并完成验证

SSL证书需要验证您对域名的所有权,常用的验证方式有两种:

DNS验证(推荐)

系统会生成一条或多条TXT记录,您需要将该记录添加到域名的DNS解析中。具体操作:

  1. 复制系统提供的主机记录和记录值
  2. 登录您的域名DNS管理面板(如阿里云、腾讯云DNS控制台)
  3. 添加对应的TXT类型的DNS记录
  4. 等待DNS生效(一般很快,一分钟之内,也可能需要几分钟)
  5. 点击「验证」按钮

如果您配置了云平台API凭证(如阿里云AccessKey),平台可以自动为您添加DNS记录,无需手动操作。

HTTP验证

系统会提供一个验证文件,您需要将该文件放到网站根目录下的指定路径。如果是nginx,你也可以按照提示直接复制nginx配置,直接配置上即可。HTTP验证适用于域名已指向服务器且服务器已在运行的情况。

第三步:证书签发与下载

验证通过后,证书会在几分钟内自动签发。签发完成后,您可以下载证书文件。平台通常提供多种服务器格式的证书包:

  • Nginx:包含 .pem(证书链)和 .key(私钥)文件
  • Apache:包含 .crt、.key 和 CA链文件
  • Tomcat/IIS:提供 .pfx 格式

根据您的服务器类型选择对应的格式下载。

第四步:部署到Nginx服务器

下载Nginx格式的证书包后,解压会得到两个文件:

  • example.com.pem — 证书文件(包含完整证书链)
  • example.com.key — 私钥文件

4.1 上传证书到服务器

将证书文件上传到服务器,建议放在Nginx配置目录下:

# 创建证书存放目录
sudo mkdir -p /etc/nginx/certs/

# 使用scp上传(在本地执行)
scp example.com.pem example.com.key root@your-server:/etc/nginx/certs/

4.2 配置Nginx

编辑Nginx配置文件(通常在 /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf/etc/nginx/nginx.conf):

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate /etc/nginx/certs/example.com.pem;
    ssl_certificate_key /etc/nginx/certs/example.com.key;

    # 推荐的SSL安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
        root /var/www/html;
        index /index.html;
    }
}

# HTTP自动跳转HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

4.3 测试并重载Nginx

# 测试配置是否正确
sudo nginx -t

# 如果配置正确,重载Nginx
sudo nginx -s reload

验证HTTPS是否生效

打开浏览器访问 https://example.com,如果看到地址栏显示锁形图标,说明HTTPS证书已正确部署。您也可以使用在线SSL检测工具检查证书配置是否完善。

常见问题

证书有效期是多久?

通过ACME协议签发的免费DV证书有效期通常为90天。建议开启自动续签功能,平台会在证书到期前自动完成续签和部署。

申请通配符证书需要注意什么?

通配符证书(*.example.com)只能使用DNS验证方式,不支持HTTP验证。申请时请确保您有DNS管理权限。

部署后浏览器提示证书不受信任?

通常是因为证书链不完整。请确保下载的是包含完整证书链的.pem文件,而非单独的证书文件。