如何部署SSL证书从申请到配置的完整指南
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
在当今高度互联的数字时代,网络安全已成为网站运营中不可或缺的核心环节,随着用户对个人隐私保护意识的不断提升,以及主流搜索引擎(如 Google)明确将 HTTPS 作为排名权重因素之一,部署 SSL 证书已不再是“可选项”,而是现代网站建设与维护的基本标准配置。 SSL(Secure Sockets Layer,安全套接层)证书不仅能加密浏览器与服务器之间的数据传输,有效防止信息被窃听、篡改或劫持,还能显著提升网站的专业形象和用户信任度,更重要的是,启用 HTTPS 可增强 SEO 表现,并满足各类合规要求(如 GDPR、PCI DSS 等),本文将系统性地介绍 SSL 证书的原理、类型选择、获取方式、部署流程及后期维护策略,帮助您从零开始构建一个安全可靠的 HTTPS 网站环境。
SSL 证书是一种基于公钥基础设施(PKI)的数字凭证,用于在客户端(如浏览器)与 Web 服务器之间建立一条加密通信通道,当用户访问以 https://
开头的网站时,浏览器会自动验证该站点的 SSL 证书是否合法有效,并通过 TLS 协议对传输的数据进行加密处理,确保登录密码、支付信息、表单内容等敏感数据不被第三方截取或篡改。
尽管当前实际使用的是其继任协议 TLS(Transport Layer Security),但由于历史习惯,“SSL 证书”这一术语仍被广泛沿用,我们今天所说的“SSL 加密”,实际上指的是 TLS 加密机制。
SSL 证书的主要类型
在部署之前,了解不同类型的 SSL 证书至关重要,它们适用于不同的业务场景和安全需求:
-
DV(域名验证型证书)
- 验证级别最低,仅需证明申请者拥有该域名即可。
- 签发速度快(几分钟内完成),适合个人博客、测试站点或小型项目。
- 不显示企业信息,安全性相对基础。
-
OV(组织验证型证书)
- 在域名所有权基础上,还需验证申请单位的真实注册信息(如公司名称、地址等)。
- 证书中包含组织详情,提升访客信任感。
- 广泛应用于企业官网、后台管理系统等需要一定身份背书的场景。
-
EV(扩展验证型证书)
- 最高级别的验证标准,审核流程最为严格。
- 浏览器地址栏会显示绿色锁标志并呈现公司名称(部分旧版浏览器支持),极大增强品牌可信度。
- 常见于银行、证券、电商平台等对安全性和品牌形象要求极高的机构。
根据覆盖域名范围的不同,还可分为以下几种形式:
- 单域名证书:仅保护一个具体域名(如
example.com
)。 - 通配符证书(Wildcard Certificate):可保护主域名及其所有一级子域名(如
*.example.com
),非常适合多子系统架构。 - 多域名证书(SAN 证书):一张证书可绑定多个完全不同的域名(如
example.com
、blog.org
、shop.net
),灵活应对复杂业务结构。
选择合适的证书类型,既能控制成本,又能满足安全与功能需求。
如何获取 SSL 证书?
目前获取 SSL 证书主要有两种途径:购买商业证书或使用免费可信服务。
商业 SSL 证书
由全球公认的权威 CA(Certificate Authority)机构签发,如:
- DigiCert
- GlobalSign
- Sectigo(原 Comodo)
- GeoTrust
优势包括:
- 更长的有效期(通常为 1–2 年)
- 提供更高保障的保修金额
- 支持更全面的技术支持和快速响应服务
- 兼容老旧设备和特殊浏览器
适合大型企业、金融机构或对稳定性有高要求的应用场景。
免费 SSL 证书 —— Let’s Encrypt
Let’s Encrypt 是一家非营利性 CA 组织,致力于推动互联网全面加密,它提供的证书具备以下特点:
- 完全免费
- 自动化程度高,支持脚本批量管理
- 被主流浏览器广泛信任
- 有效期为 90 天,鼓励定期更新以提高安全性
尤其推荐中小型网站、开发者项目和个人平台使用,配合自动化工具(如 Certbot),可实现“一次配置,终身自动续签”。
⚠️ 注意:虽然免费,但 Let’s Encrypt 不支持通配符或多域名组合的 OV/EV 类型证书,且每日有请求频率限制,不适合大规模部署。
部署 SSL 证书的完整流程
下面我们将以 Let’s Encrypt + Certbot 为例,详细演示从生成密钥到上线 HTTPS 的全过程。
生成私钥与 CSR 文件
在您的服务器上生成一对非对称密钥:私钥(Private Key)和证书签名请求(CSR),私钥必须严格保密,而 CSR 将提交给 CA 用于签发证书。
使用 OpenSSL 执行以下命令:
openssl req -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
执行过程中会提示输入相关信息,关键字段如下:
- Country Name (2 letter code):国家代码(如 CN、US)
- State or Province:省份
- Locality Name:城市
- Organization Name:组织/公司名称
- Common Name (CN):必须填写要保护的域名(如
www.example.com
)
🔐 温馨提示:对于通配符证书,Common Name 应设为
*.example.com
。
完成后,您将获得两个文件:
example.com.key
:私钥文件example.com.csr
:待提交的证书请求文件
提交 CSR 并获取证书
若手动操作,可将 CSR 内容复制粘贴至 CA 平台完成验证;但推荐使用 Certbot 工具实现自动化申请。
安装 Certbot 后运行:
sudo certbot --apache -d example.com -d www.example.com
此命令适用于 Apache 服务器,Certbot 会自动执行以下动作:
- 检查域名解析情况;
- 创建临时 HTTP 文件进行域控验证(HTTP-01 Challenge);
- 成功后向 Let’s Encrypt 请求签发证书;
- 下载并保存证书文件至指定目录,常见文件包括:
fullchain.pem
:服务器证书 + 中间证书链privkey.pem
:私钥cert.pem
:站点证书chain.pem
:中间证书
💡 对于 Nginx 或 DNS 验证模式,可使用
--nginx
或--manual --preferred-challenges dns
参数。
配置 Web 服务器启用 HTTPS
Apache 配置示例
编辑虚拟主机配置文件(如 /etc/apache2/sites-available/example-SSL.conf
):
<VirtualHost *:443> ServerName example.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /path/to/fullchain.pem SSLCertificateKeyFile /path/to/privkey.pem <Directory "/var/www/html"> Require all granted </Directory> # 支持 PHP 环境变量 <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> </VirtualHost>
启用 SSL 模块并重启服务:
a2enmod ssl systemctl restart apache2
Nginx 配置示例
在配置文件中添加 HTTPS 监听块:
server { listen 443 ssl http2; server_name example.com www.example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512; root /var/www/html; index index.html index.php; }
重启 Nginx 生效配置:
systemctl restart nginx
强制跳转 HTTP → HTTPS
为了保证所有流量均通过加密连接传输,建议设置 301 重定向,将 HTTP 请求自动跳转至 HTTPS。
Apache 实现方式
在 .htaccess
文件或 80 端口虚拟主机中添加:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx 实现方式
新增一个监听 80 端口的 server 块:
server { listen