在腾讯云免费 SSL 证书部署到小程序,需要明确一个核心前提:小程序本身不直接“部署”证书,而是要求后端服务器(API 域名)必须使用 HTTPS。小程序的通信协议强制要求所有网络请求必须通过加密通道(HTTPS),因此你需要将免费 SSL 证书配置到你的后端服务器或负载均衡上。
以下是完整的操作流程和关键注意事项:
✅ 一、获取腾讯云免费 SSL 证书
- 登录腾讯云控制台 → 进入 SSL 证书 产品页。
- 点击 “申请证书” → 选择 “免费证书” → 按向导填写信息(域名需已备案且解析到腾讯云服务器/负载均衡)。
- 完成域名验证(推荐 DNS 验证,更稳定)。
- 审核通过后下载证书包(包含
.crt公钥证书 +.key私钥,部分场景还需中间证书ca-bundle.crt)。
⚠️ 注意:小程序域名必须在 微信公众平台 后台配置为合法域名(开发设置 → 开发管理 → 开发设置 → 服务器域名),且该域名必须与证书绑定域名一致。
✅ 二、部署证书到后端服务器
根据你使用的服务类型,选择对应方式:
方案 A:Nginx 部署(最常见)
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/fullchain.pem; # 合并后的证书文件(含私钥+CA链)
ssl_certificate_key /path/to/your-key.key; # 对应私钥
ssl_protocols TLSv1.2 TLSv1.3; # 安全协议
ssl_ciphers HIGH:!aNULL:!MD5; # 加密套件
location / {
proxy_pass http://your-backend-service;
# ... 其他X_X配置
}
}
📌 提示:若证书是分离的 .crt + .key,需用 OpenSSL 合并为 fullchain.pem:
cat your-domain.crt ca-bundle.crt > fullchain.pem
方案 B:腾讯云 CLB(负载均衡)
- 在 CLB 控制台 → 监听器配置 → 上传证书(支持 PEM 格式,可直接上传
.crt+.key或合并文件)。 - 无需修改后端服务器,由 CLB 统一处理 HTTPS 解密。
方案 C:云服务器 ECS + 应用层(如 Node.js/Java)
- 在代码中加载证书和私钥启动 HTTPS 服务(例如 Express、Spring Boot)。
- 确保端口
443开放,并关闭 HTTP 重定向(或仅允许 HTTPS)。
✅ 三、配置微信小程序后台
- 登录 微信公众平台
- 进入 开发 → 开发管理 → 开发设置 → 服务器域名
- 在 request 合法域名 中添加你的域名(如
https://api.yourdomain.com)
❗ 必须是完整 URL(含
https://),且不能带路径;每日最多添加 10 个。 - 保存后等待生效(通常几分钟内生效,但建议测试前等待 5~10 分钟)。
✅ 四、验证是否成功
- 本地测试:用 Postman 或浏览器访问
https://your-domain.com/api/test,确认无证书警告。 - 小程序真机调试:
- 打开微信开发者工具 → 真机预览 → 查看 Network 面板,确认请求状态码为
200且协议为https。 - 若出现 “请求失败:ssl 错误” 或 “域名不在白名单”,请检查:
- 证书是否有效(过期/域名不匹配)
- 服务器域名是否已添加到微信后台
- 防火墙是否放行 443 端口
- 打开微信开发者工具 → 真机预览 → 查看 Network 面板,确认请求状态码为
🔒 重要提醒
- 证书有效期:腾讯云免费证书有效期通常为 1 年,到期前需重新申请并更新部署。
- 子域名覆盖:申请时可选择通配符证书(
*.yourdomain.com),方便多子域复用。 - HSTS 可选:生产环境建议启用 HSTS 提升安全性(需在 Nginx 加
add_header Strict-Transport-Security "max-age=31536000" always;)。 - 不要自行签发证书:微信小程序只信任受信任 CA 签发的证书(腾讯云、Let’s Encrypt 等),自签名证书会导致请求被拦截。
如你提供具体技术栈(如:Nginx?Tomcat?Node.js?是否用 CLB?),我可给出更精准的部署命令或配置文件模板。
CLOUD云枢