在微信小程序中访问云服务器需要遵循微信的安全规范,并通过以下步骤实现:
1. 配置合法域名
- 操作路径:登录微信公众平台 → 开发 → 开发设置 → 服务器域名。
- 要求:
- 域名需备案(国内服务器)。
- 仅支持 HTTPS(端口默认443)和 WSS(WebSocket)。
- 域名不能带端口或路径(如
https://example.com/api需简化为https://example.com)。
2. 小程序端发起请求
使用 wx.request API 调用云服务器接口:
wx.request({
url: 'https://your-server.com/api/data',
method: 'GET', // 或 POST
data: { key: 'value' },
header: {
'Content-Type': 'application/json',
'Authorization': 'Bearer token' // 如需身份验证
},
success(res) {
console.log(res.data);
},
fail(err) {
console.error('请求失败', err);
}
});
3. 服务器端配置
- HTTPS 证书:确保服务器配置有效的 SSL 证书(如 Let’s Encrypt)。
- 接口开发:提供 RESTful API,处理小程序的请求并返回 JSON 数据。
- 示例(Node.js):
const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { res.json({ data: 'Hello from server!' }); }); app.listen(443, () => console.log('Server running on HTTPS 443'));
4. 跨域问题
- 无需处理:微信小程序不受浏览器同源策略限制,但需确保域名在微信后台配置正确。
5. 安全建议
- 鉴权:使用微信登录态(
wx.login获取code换取openid)或自定义 Token。 - 数据加密:敏感数据建议加密传输。
- 频率限制:防止恶意请求,可在服务端做限流。
6. 调试技巧
- 开发环境:在微信开发者工具中勾选 “不校验合法域名”(仅调试用)。
- 真机测试:必须配置合法域名。
常见问题
- 域名未备案:需完成备案(国内服务器)。
- 证书无效:检查证书链是否完整(可用 SSL Labs 测试)。
- 403 错误:检查服务器防火墙/安全组是否放行 443 端口。
通过以上步骤,小程序即可安全访问云服务器。如有更复杂需求(如 WebSocket 或文件上传),可参考微信官方文档对应 API。
云服务器