引言
做小程序的团队,几乎都在某个阶段被两件事拦住过:一是"请求域名不在合法域名列表",二是"域名不是 HTTPS"。第二件事背后,就是 SSL 证书。很多人知道小程序"必须上 HTTPS",却说不清为什么,更不知道证书怎么申请、怎么配。据公开信息显示,微信小程序自正式版起,网络请求只允许通过 HTTPS 等加密协议发起,HTTP 明文请求会被拦截。
本文用尽量通俗的方式,把 SSL 证书是什么、HTTPS 和 HTTP 差在哪、小程序为什么强制 HTTPS,以及证书怎么申请配置讲清楚。
内容概述
SSL 证书(现在更准确的叫法是 TLS 证书)是一种安装在服务器上的数字证书,作用是让浏览器/小程序和服务器之间的通信变成加密的 HTTPS。简单说:HTTP 是"明信片",数据一路明文传递,中途可能被偷看或篡改;HTTPS 是"密封信件",中途的人看不到内容、也改不了。小程序出于安全和用户隐私考虑,正式版只允许请求 HTTPS 域名,这就是为什么每个上线的小程序都离不开 SSL 证书。
核心要点
1. SSL/HTTPS 到底解决什么问题
- 加密传输:用户输入的密码、手机号、订单信息,在传输过程中被加密,中途被截获也读不到原文;
- 身份验证:证书由受信任的机构签发,证明这个服务器确实是你要访问的那家,防止被钓鱼网站冒充;
- 数据完整性:传输内容中途若被篡改,客户端会发现并报警,避免拿到被改动的假数据。
没有 HTTPS,用户在小程序里填的收货地址、支付信息,理论上都可能在公共 Wi-Fi 等场景下被窥探。
2. 证书的几种常见类型
| 类型 | 验证级别 | 适用场景 | 成本 |
|---|---|---|---|
| DV 域名验证 | 只验证域名所有权 | 个人站、测试环境、小型小程序 | 常有免费证书 |
| OV 组织验证 | 验证企业身份 | 中小企业官网、普通商城 | 付费 |
| EV 扩展验证 | 严格企业审核 | 金融、支付、大型平台 | 较贵 |
对大多数小程序而言,一张免费或低价的 DV/OV 证书即可满足要求,浏览器地址栏会显示小锁标志。
3. 小程序为什么强制 HTTPS
- 平台安全规范:微信小程序正式版对网络请求有明确的协议要求,只信任 HTTPS 合法域名;
- 用户隐私保护:小程序常处理手机号、地址、支付等敏感信息,明文传输风险高;
- 白名单机制:小程序后台配置的"request 合法域名",必须是 HTTPS 开头,HTTP 无法通过校验;
- 体验一致:开发者工具里可以临时勾选"不校验合法域名"调试,但正式版、体验版在真机上都强制校验。
4. 证书怎么申请与配置
- 免费证书:不少云服务商和证书机构提供免费的 DV 证书,有效期通常较短,到期需续签;
- 付费证书:OV/EV 证书由专业机构审核企业资料后签发,适合对信任级别要求更高的场景;
- 安装到服务器:证书申请通过后,会拿到证书文件和私钥,按服务器(Nginx、Apache 等)或云服务商文档配置;
- 开启强制 HTTPS:配置好后,把 HTTP 请求 301 跳转到 HTTPS,避免用户访问到明文版本;
- 定期续签:证书有有效期,到期前要续签,否则浏览器会报"不安全"警告。
实施步骤
- 确认服务器环境:知道自己用的是哪种 Web 服务器(Nginx/Apache/云托管)。
- 申请证书:根据需要选免费 DV 或付费 OV/EV,按提示完成域名验证。
- 安装证书:把证书和私钥上传到服务器,按服务商文档配置 HTTPS。
- 配置跳转:把 HTTP 请求跳转到 HTTPS,测试访问是否正常。
- 小程序后台加域名:把 HTTPS 域名填入 request 合法域名列表。
- 真机验证:用真机预览版发一次请求,确认不再报协议错误。
注意事项
- 证书别过期:证书到期前务必续签,过期后用户访问会看到安全警告,小程序请求也会失败。
- 私钥要保管好:证书私钥是服务器身份的凭证,泄露后可能被冒用,不要外传。
- 中间证书别漏:部分证书需要同时配置中间证书链,否则部分浏览器/机型会报证书不受信。
- 别用自签名证书:自己生成的证书没有受信任机构背书,小程序和浏览器不会信任,无法通过白名单校验。
总结
SSL 证书和 HTTPS,本质是给小程序和服务器之间的通信上一把锁。小程序之所以强制 HTTPS,既是平台的安全规范,也是对用户隐私和交易数据的保护。对大多数商家来说,申请一张免费或低价的证书、按文档装好、定期续签,就能满足上线要求。理解了"加密 + 验证 + 防篡改"这三点,再配证书时就不会一头雾水。













































