走啊走
加油

使用腾讯云免费ssl证书部署小程序?

服务器价格表

使用腾讯云免费 SSL 证书部署小程序是可行的,但需要明确一个核心前提:微信小程序强制要求服务器域名必须配置有效的 HTTPS 证书(且必须是受信任的 CA 机构颁发的)。腾讯云的免费证书完全符合这一要求。

以下是完整的操作流程和关键注意事项:

1. 申请与下载证书

首先需要在腾讯云控制台获取证书文件。

  1. 登录控制台:进入 SSL 证书管理 页面。
  2. 申请证书:点击“购买/申请”,选择“免费版”(通常支持单域名或通配符,视具体活动而定)。
    • 输入你的小程序后端域名(例如 api.yourdomain.com)。
    • 验证域名所有权(通常通过 DNS 解析添加 TXT 记录,或上传文件到服务器根目录)。
  3. 下载证书:审核通过后,在证书列表中点击下载。
    • 注意:你需要下载两种格式的压缩包(通常是 .pem.key 组合,或者 Nginx/Apache 专用包)。
    • 关键点:确保下载的是 Nginx通用 格式(包含 .crt/.pem 公钥文件和 .key 私钥文件)。

2. 部署到服务器

将证书文件上传到你的云服务器(如 CVM)或容器服务上。

  • 上传方式:使用 FTP/SFTP 工具将下载的 .crt (或 .pem) 和 .key 文件上传到服务器指定目录(例如 /etc/nginx/ssl/)。
  • 权限设置:确保私钥文件权限安全(Linux 下建议执行 chmod 600 your-key.key),防止被未授权访问。

3. 配置 Web 服务器 (以 Nginx 为例)

大多数小程序后端运行在 Nginx 上,修改配置文件启用 HTTPS。

编辑你的 Nginx 配置文件(通常在 /etc/nginx/sites-available/defaultnginx.conf 中):

server {
    listen 443 ssl;
    server_name api.yourdomain.com; # 替换为你的实际域名

    # 证书路径
    ssl_certificate /path/to/your-domain.crt;
    ssl_certificate_key /path/to/your-domain.key;

    # 推荐的安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://localhost:8080; # 假设你的后端服务运行在 8080
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# 可选:强制 HTTP 跳转 HTTPS
server {
    listen 80;
    server_name api.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

保存后重启 Nginx:

sudo nginx -t  # 检查配置是否正确
sudo systemctl restart nginx

4. 微信小程序后台配置

这是最关键的一步,如果配置错误,小程序将无法调用接口。

  1. 登录 微信公众平台。
  2. 进入 开发 -> 开发管理 -> 开发设置
  3. 找到 “服务器域名” 板块。
  4. "request 合法域名” 中添加你的 HTTPS 域名(例如 https://api.yourdomain.com)。
    • 注意:必须带 https:// 前缀,且域名必须与你申请证书的域名完全一致。
  5. 点击保存,系统会校验域名是否已配置有效证书。

⚠️ 关键注意事项与常见坑

  1. 证书有效期
    腾讯云免费证书有效期通常为 1 年。务必在到期前 30 天 重新申请并部署新证书,否则小程序将报错“网络请求失败”。可以设置自动化脚本或日历提醒。

  2. 域名一致性
    证书绑定的域名必须与你在微信后台填写的 request 域名完全一致

    • ✅ 正确:证书是 api.example.com,微信填 https://api.example.com
    • ❌ 错误:证书是 www.example.com,微信填 https://api.example.com(子域名不匹配)。
  3. 不要使用自签名证书
    腾讯云提供的免费证书是由受信任的 CA 机构(如 DigiCert, GeoTrust 等)签发的,微信认可。切勿自己生成自签名证书,小程序会直接拦截。

  4. 测试环境 vs 正式环境

    • 开发阶段:可以在微信开发者工具中开启“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”选项进行调试。
    • 真机测试/发布:必须关闭该开关,此时若证书过期或未配置,真机将无法连接。
  5. CDN 提速场景
    如果你使用了腾讯云 CDN 或 Cloudflare 等第三方提速,需要在 CDN 节点上也配置 SSL 证书(可以选择“回源协议”为 HTTP,但在用户端保持 HTTPS;或者在 CDN 节点也安装证书)。如果是这种情况,请确保 CDN 控制台的证书状态也是“已部署”且正常。

完成以上步骤后,你的小程序即可安全地通过 HTTPS 访问后端接口。如果在真机上仍报错,建议使用浏览器(Chrome 地址栏)访问你的域名,查看是否有证书链错误或过期提示。