在小程序中访问腾讯云轻量应用服务器(Lighthouse)需要遵循一定的安全规范和步骤,以下是详细的操作指南:
1. 确保服务器配置正确
-
开放公网访问
确保轻量应用服务器的防火墙(安全组)已放行小程序需要访问的端口(如HTTP 80/HTTPS 443/自定义端口)。- 进入腾讯云控制台 → 轻量应用服务器 → 选择实例 → 防火墙 → 添加规则。
- 示例:放行TCP 80、443端口,来源IP可设置为
0.0.0.0/0(临时测试)或小程序服务器的IP(需查询微信官方IP段)。
-
部署后端服务
在服务器上部署Web服务(如Nginx、Node.js、Python等),并确保服务可通过公网IP或域名访问。- 测试:浏览器直接访问
http://你的服务器IP:端口,确认返回预期数据。
- 测试:浏览器直接访问
2. 配置域名与HTTPS(必选)
微信小程序要求所有网络请求必须使用HTTPS,且域名需备案并加入小程序白名单。
- 步骤:
- 注册域名:在腾讯云或其他平台购买域名,并完成备案。
- 域名解析:将域名解析到轻量应用服务器的公网IP。
- 申请SSL证书:
- 腾讯云免费SSL证书(TrustAsia或Let’s Encrypt)。
- 在轻量应用服务器控制台绑定证书,或手动部署到Nginx/Apache。
- 配置HTTPS:
以Nginx为例:server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:3000; # 转发到本地服务 } } - 重启服务:
sudo systemctl restart nginx
3. 小程序端代码调用
在小程序的JavaScript中通过 wx.request 调用API:
wx.request({
url: 'https://yourdomain.com/api/data', // 必须HTTPS
method: 'GET',
success(res) {
console.log(res.data);
},
fail(err) {
console.error('请求失败', err);
}
});
4. 配置小程序域名白名单
- 登录 微信公众平台 → 开发 → 开发设置 → 服务器域名。
- 在 request合法域名 中添加你的HTTPS域名(如
https://yourdomain.com)。
5. 安全优化建议
- 限制访问频率:通过Nginx或后端代码防止恶意请求。
- API鉴权:
- 使用小程序登录态(
wx.login获取code,后端校验用户身份)。 - 请求头中加入Token验证:
wx.request({ url: 'https://yourdomain.com/api/data', header: { 'Authorization': 'Bearer ' + token } });
- 使用小程序登录态(
- 隐藏服务器IP:通过域名访问,避免暴露IP。
常见问题
-
Q:请求失败提示“不在合法域名列表中”
A:检查域名是否已加入小程序后台白名单,且为HTTPS。 -
Q:服务器无响应
A:检查防火墙规则、服务是否运行、域名解析是否生效。 -
Q:HTTPS证书无效
A:确保证书有效且配置正确,可通过 SSL Labs 检测。
按照以上步骤操作,即可实现小程序与腾讯云轻量应用服务器的安全通信。如有复杂需求(如WebSocket),需额外配置并确保协议为wss。
云服务器