使用腾讯云轻量应用服务器(Lighthouse)搭建微信小游戏时,除了正常的后端服务部署外,网络设置非常关键,因为微信小游戏运行在微信客户端中,其前端通过 HTTPS 请求与你的服务器通信。以下是需要注意的网络设置和配置要点:
一、域名与 HTTPS 配置
-
必须使用备案域名
- 微信小游戏要求所有接口请求必须使用已备案的域名。
- 腾讯云轻量服务器位于中国大陆,因此你需要为你的服务器绑定的域名完成ICP备案。
-
配置 HTTPS(SSL 证书)
- 微信小游戏强制要求所有网络请求使用
HTTPS协议。 - 必须为你的域名配置有效的 SSL 证书。
- 推荐方式:
- 使用腾讯云免费或付费 SSL 证书(可从腾讯云申请并部署到轻量服务器)。
- 使用 Nginx/Apache 反向X_X配置 HTTPS。
- 工具推荐:Certbot + Let’s Encrypt(支持自动续期)。
示例 Nginx 配置片段:
server { listen 443 ssl; server_name yourgame.example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; location / { proxy_pass http://127.0.0.1:3000; # 你的后端服务端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } - 微信小游戏强制要求所有网络请求使用
二、防火墙与安全组设置
-
开放必要端口
- 轻量服务器默认有防火墙(系统级)和腾讯云控制台的安全组。
- 确保以下端口开放:
80(HTTP,用于跳转或证书验证)443(HTTPS,游戏 API 主要通信端口)- 若使用 WebSocket,可能需要开放
wss对应的端口(通常也是 443)
-
检查腾讯云控制台安全组规则
- 登录腾讯云控制台 → 轻量服务器 → 安全组 → 添加入站规则:
协议类型:TCP 端口:80, 443 源 IP:0.0.0.0/0(或限制为微信 IP 段,但一般不建议)
- 登录腾讯云控制台 → 轻量服务器 → 安全组 → 添加入站规则:
-
系统防火墙(如 ufw/iptables)
- 如果服务器启用 ufw,执行:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
- 如果服务器启用 ufw,执行:
三、微信小游戏后台配置
-
在微信公众平台配置 request 合法域名
- 登录 微信公众平台
- 进入「开发管理」→「开发设置」→「服务器域名」
- 在 request 合法域名 中添加你的 HTTPS 域名,例如:
https://api.yourgame.com - 注意:不能使用 IP 地址或未备案/未 HTTPS 的域名。
-
如有用到 uploadFile 或 downloadFile,也需添加对应域名
四、后端服务监听配置
- 确保你的 Node.js、Python、Java 等后端服务监听在
0.0.0.0而非127.0.0.1,否则外部无法访问。app.listen(3000, '0.0.0.0', () => { console.log('Server running on port 3000'); });
五、跨域问题(CORS)
- 微信小游戏运行在微信 WebView 中,若前后端分离,需处理 CORS。
- 在后端响应头中添加:
Access-Control-Allow-Origin: https://yourgame.com Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Headers: Content-Type, Authorization - 注意:
Access-Control-Allow-Origin不建议设为*,应指定具体域名。
六、性能与带宽考虑
- 轻量服务器带宽有限(如 5Mbps),注意:
- 静态资源建议使用 CDN(如腾讯云 CDN)提速。
- 图片、音频等大文件不要直接放在轻量服务器上提供。
- 可搭配对象存储 COS 存储静态资源。
七、其他建议
- 使用反向X_X(Nginx)统一管理
- 统一处理 HTTPS、负载均衡、静态资源服务。
- 日志监控
- 开启访问日志和错误日志,便于排查连接问题。
- 定期更新 SSL 证书
- Let’s Encrypt 证书有效期为 90 天,建议设置自动续期脚本。
总结:关键检查清单
| 项目 | 是否完成 |
|---|---|
| 域名已备案 | ✅ |
| 配置 HTTPS(SSL 证书) | ✅ |
| 开放 80 和 443 端口(安全组 + 防火墙) | ✅ |
| 后端服务监听 0.0.0.0 | ✅ |
| 微信后台添加合法域名 | ✅ |
| 解决 CORS 问题 | ✅ |
| 避免使用 IP 直接访问 | ✅ |
完成以上设置后,你的微信小游戏即可正常与腾讯云轻量服务器通信。如有问题,可通过浏览器开发者工具或微信开发者工具查看网络请求错误信息进行调试。
云小栈