WordPress建站用云服务器要单独买SSL证书吗?免费证书怎么配才不踩坑?
很多刚接触建站的朋友在部署 WordPress 时都会遇到一个核心问题:SSL 证书到底要不要额外花钱买?云服务器默认带不带 HTTPS?今天我们就从实操角度,拆解 SSL 证书在云服务器上的部署逻辑,并告诉你如何用免费方案安全、稳定地启用 HTTPS,避免因配置错误导致网站打不开或被浏览器标记“不安全”。
一、云服务器默认包含 SSL 证书吗?
答案很明确:不包含。无论是个人建站还是企业级应用,标准云服务器套餐仅提供计算、存储和网络资源,SSL 证书、WAF 防火墙、CDN 加速等安全与性能组件均需单独配置。
- 云服务器本质是“裸机”环境,操作系统安装后需自行部署 Web 服务(如 Nginx、Apache)
- SSL 证书属于应用层安全组件,需绑定域名并通过 CA 机构签发
- 即使你购买的是“建站套餐”或“WordPress 一键部署”镜像,也未必自动配置有效 HTTPS
二、免费 SSL 证书真的能用吗?有哪些限制?
好消息是,主流云平台确实提供免费 SSL 证书,但使用条件和生命周期有严格限制。以下是关键要点:
- 有效期短:免费证书通常仅 90 天,需定期续期(可自动化)
- 仅支持单域名:不支持通配符(.example.com)或多域名绑定
- 验证方式有限:一般只支持 DNS 或文件验证,不提供企业级组织验证(OV/EV)
- 仅限测试或轻量生产:适合个人博客、小型展示站,但不建议用于支付、金融等高敏感场景
以某主流云平台为例,其“个人测试证书(免费版)”需通过以下流程获取:
- 在控制台申请证书资格(每年限 20 张)
- 绑定已备案且可解析的域名
- 完成域名所有权验证(上传指定文件或添加 DNS TXT 记录)
- 下载证书文件(包含
cert.pem和private.key)
三、WordPress 启用 HTTPS 的正确操作步骤
拿到证书后,不能直接扔进 WordPress 后台就完事。必须在 Web 服务器层正确配置。以下是基于 Nginx 的标准部署流程:
- 将证书文件上传至服务器,例如
/etc/nginx/ssl/目录 - 编辑站点配置文件(如
/etc/nginx/sites-available/your-site) - 添加 HTTPS 监听块并指定证书路径:
server {
listen 443 ssl http2;
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/yourdomain_cert.pem;
ssl_certificate_key /etc/nginx/ssl/yourdomain_private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE+AESGCM;
root /var/www/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}
- 测试配置语法:
nginx -t - 重载服务:
systemctl reload nginx - 在 WordPress 后台将“站点地址”和“WordPress 地址”从
http://改为https://
⚠️ 注意:若跳过第 6 步,可能导致后台登录循环重定向或混合内容警告。
四、什么情况下必须用付费 SSL 证书?
虽然免费证书能满足基本需求,但在以下场景中,建议考虑付费证书:
| 场景 | 免费证书是否适用 | 推荐方案 |
|---|---|---|
| 需要通配符证书(保护子域名) | ❌ 不支持 | 购买 DV 通配符证书 |
| 企业官网需显示公司名称 | ❌ 仅显示域名 | OV 或 EV 证书 |
| API 被小程序/APP 调用 | ✅ 可用(需有效 CA 签发) | 免费或付费均可,但必须非自签 |
| 高并发电商网站 | ⚠️ 可用但需频繁续期 | 建议 1 年期付费证书 + 自动化监控 |
五、如果用了 CDN,SSL 证书该配在哪?
这是最容易出错的地方!当网站接入 CDN 后,SSL 证书应部署在 CDN 边缘节点,而非源站服务器。原因如下:
- 用户请求首先到达 CDN 节点,必须在此完成 TLS 握手
- 源站可选择 HTTP 回源(节省 CPU)或 HTTPS 回源(更高安全)
- 若在源站配证书但 CDN 未开启 HTTPS,用户仍会看到“不安全”警告
正确操作流程:
- 在 CDN 控制台上传 SSL 证书(或选择平台提供的免费证书)
- 确保证书绑定的域名与 CDN 加速域名完全一致
- 开启“HTTPS 安全加速”开关
- 设置回源协议(建议初期用 HTTP 回源,降低调试复杂度)
⚠️ 私钥格式要求:必须为无密码保护的 PEM 格式,否则 CDN 无法加载。
六、工具推荐:自动化管理免费证书
手动续期 90 天证书太麻烦?用这些工具实现全自动:
- acme.sh:轻量级 ACME 客户端,支持 DNS API 自动验证,一行命令申请+部署
- Certbot:Let’s Encrypt 官方工具,适合 Apache/Nginx 一键集成
- 云平台证书管理服务:部分平台提供“自动续期+自动部署到 CDN/负载均衡”功能
以 acme.sh 为例,自动申请并部署到 Nginx:
安装
curl https://get.acme.sh | sh
申请证书(以 DNS 方式验证)
acme.sh --issue --dns dns_ali -d yourdomain.com
安装到指定目录
acme.sh --install-cert -d yourdomain.com
--key-file /etc/nginx/ssl/yourdomain.key
--fullchain-file /etc/nginx/ssl/yourdomain.pem
--reloadcmd "systemctl reload nginx"
FAQ:常见问题解答
| 问题 | 解答 |
|---|---|
| 自签证书能用吗? | 不能。自签证书不被浏览器信任,会导致安全警告,且小程序/API 调用会被拦截。 |
| 一个 SSL 证书能用在多台服务器吗? | 可以。证书绑定的是域名,不是服务器。只要域名相同,可在多台服务器部署同一证书。 |
| WordPress 后台显示混合内容警告怎么办? | 安装“Really Simple SSL”插件,或手动将数据库中的 http:// 替换为 https://(使用 WP-CLI 或 SQL)。 |
| 免费证书续期失败会怎样? | 网站将无法通过 HTTPS 访问,浏览器显示证书过期错误。建议设置监控告警。 |
| 必须备案才能申请 SSL 证书吗? | 不一定。部分平台对免费证书不要求备案,但域名必须可解析且能通过验证。 |