1. 问题简介
微信小程序访问局域网时提示:域名“不在以下 request 合法域名列表中”。
2. 原先状态
之前开发了一款小程序,需要访问局域网内的服务器。按照官方文档(https://developers.weixin.qq.com/miniprogram/dev/framework/ability/mDNS.html)的说明,这是可以实现的,同时也亲测可用了。只不过在开发工具调试时,需要关闭域名校验。但是正式上线之后,是可以正常使用的。
3. 当前状态
因为当时服务器没有设置静态IP,所以重启后服务器的IP改变了,于是将小程序里对应的IP设置为新的IP。在开发工具调试时,关闭域名校验依然可以使用。但是正式上线之后,却无法正常访问了。以下是服务器和客户端的网路信息:
当前服务器IP: 10.198.198.30
客户端IP: 10.198.199.46
子网掩码: 255.255.254.0
默认网关: 10.198.198.1
求问,为什么这种情况下,局域网通信失效了?是因为没有被识别成局域网IP吗,还是接口更新了?
这个接口没有变动,按你提供的信息应该是可以通过。麻烦提供一下日至我们排查问题:我-设置-帮助与反馈-【右上角扳手图标】-上传日志。上传时注意选择对应的日期,最后提供一下出现问题的时间点和微信号。
您好,日志已上传,我上传之前又运行了一次,时间点是17点:45分,微信号是Q965964404。辛苦了!
已确认问题:实现逻辑有 bug,默认把子网掩码当 24 位来处理了,这个场景子网掩码是 23 位所以判断出错。多谢反馈,我们下个版本修复。
好的,非常感谢!
看起来接口应该没有变动。麻烦看下有问题的是 iOS 还是 android 客户端?
Android和iOS都失败的。
楼主,请教一下,局域网连接怎么做的,我试了试不太行啊,是因为服务器不支持mdns协议吗,您是用什么软件使服务器支持mdns的
我的小程序线上请求接口是request http://192.168.x.x ,但是请求失败。本地调试的时候是关闭了https校验,所以能正常调用。服务器是开了mdns服务的,是我前端的问题么?
现在似乎没有接口实现和支持 小程序作为一个内网的mdns 服务存在,所以感觉内网需要有至少一个mdns的服务存在,才可以用相关接口发现。
如果想实现一个,局域网内数据传输【如 数据快传,所网络的局域网聊天】,还是无法实现!