直接结论
微信小程序不能直接访问开发电脑上的 localhost。需要先通过内网穿透把本地端口映射为公网 HTTPS 地址,再将该域名加入微信公众平台的服务器域名配置。小蝴蝶付费套餐支持 HTTPS,并提供域名与 SSL 证书,适合短时间完成本地联调。
配置步骤
1. 确认本地接口可用
先在开发电脑浏览器或接口工具中访问本地地址,例如 http://127.0.0.1:8080/api/health。只有本地服务正常监听,公网隧道才能转发请求。
2. 创建 HTTP/HTTPS 隧道
登录小蝴蝶控制台,选择 HTTP/HTTPS 协议,填写本地 IP 与端口。创建后会获得一个公网域名。先在浏览器访问公网地址,确认它能返回与本地接口一致的内容。
3. 配置微信服务器域名
进入微信公众平台的小程序后台,在“开发管理—开发设置—服务器域名”中添加公网 HTTPS 域名。根据业务使用情况配置 request、uploadFile、downloadFile 或 socket 合法域名。
4. 修改接口基地址并真机测试
将开发环境的 API 基地址改成生成的 HTTPS 地址,重新编译并进行真机调试。建议通过环境变量区分本地、测试和生产地址,避免把临时调试域名发布到正式版本。
常见错误与排查
- 不在以下 request 合法域名列表中:确认域名已添加到对应小程序账号,且使用 HTTPS,不要填写路径和端口。
- 502 或无法连接:检查本地程序是否启动、端口是否填写正确、防火墙是否允许客户端连接。
- 证书或 TLS 错误:不要使用自签名证书;优先使用平台提供的有效域名与证书。
- 接口返回 404:核对公网域名后的接口路径是否与本地路径一致。
- 回调验签失败:检查代理后协议、Host、时间戳和请求体是否被业务框架改写。
安全建议
调试接口暴露到公网后,应启用登录鉴权、临时令牌或 IP 限制,不要直接暴露数据库、管理后台和无鉴权接口。联调结束后及时停用不再使用的隧道。
下一步:查看支持 HTTPS 的套餐,或阅读内网穿透方案选型指南。