收藏
回答

请教一个关于服务器域名配置使用局域网IP的问题?

1、前提

微信小程序的官方开发文档(https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)写道:

(1)“从基础库 2.4.0 开始,网络接口允许与局域网 IP 通信,但要注意 不允许与本机 IP 通信。”

(2)“服务器域名请在 「小程序后台-开发-开发设置-服务器域名」 中进行配置,配置时需要注意:xxx,域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost。”

如果我没有理解错,这两句话都表达了【小程序是可以与局域网内非本机的服务器的IP通信的】。

PS:未找到文档的最后修改时间。

2、问题

我正在配置小程序的服务器域名,申请了一台公司的内网服务器,准备测试一下。

印象里,要想在【开发者模拟器以外】的场景使用小程序并实现通讯,比如在手机端预览,要在 小程序-开发设置-服务器域名 处配置好域名才行。

但是,当我将该服务器的IP按要求格式填入对应位置之后,却显示“balabala未经备案”,不能保存。

这个IP当然不可能去ICP备案了,但是,IP符合要求,起码让我保存啊,不然怎么与局域网服务器通讯呢?

文档里明明写了可以与局域网内非本机IP通讯的!(详见本文第1部分,PS:我也用2.4以上的基础库版本试了)怎么肥四 ?

3、请教

有没有大神可以:

① 发现还是操作有问题导致的,请赐教。

② 提供其他该场景的解决方案(内网穿透除外),感谢告知。

③ 一起吐槽 腾讯的在线客服等待半小时不接,并直接挂客户电话。

④ 一起吐槽 微信开发文档写得像坨💩。

最后,万分感谢~

====== 以上编辑于2023-12-15,以下更新自2023-12-18 ======

4、再次测试

根据评论区一位兄弟(Mr.Zhao)的提醒(“局域网通信是不需要配置合法域名的”),我检查了访问服务器是否存在网络问题,发现:通过HTTP协议访问服务器的权限被关闭了。但是,这并没有解决问题,情况如下。

打开网络权限之后,我的个人电脑和手机可以通过浏览器 使用服务器IP+端口访问我预先写好的测试页面了,这说明前后端之间的HTTP访问没有问题了。

然后,再次测试:

(1)开发者工具中的调试器,可以访问。(勾选“不校验合法域名”)

(2)预览到手机端微信,不能访问。

(3)真机调试到手机端微信,可以访问。(勾选“不校验合法域名”,不用勾选局域网模式

(4)上传体验版,手机端微信打开,不能访问。

(5)上传体验版,电脑端微信打开,不能访问。

结论:将通信IP设为服务器IP,只有在可以勾选“不校验合法域名”的情况下是奏效的,其他使用场景还是白搭。

这一点,开发文档没有说明or与开发文档所述冲突,如果不是我的操作还有问题,我只有不当讲的话送给微信了。

5、补充一点

14日向微信客服提交的问题今天(18日)终于有了回答:“抱歉,balabala”,呵呵。

更别说上周打的在线客服电话还不接呢。

这,就是 微信开发生态!

====== 一小时后,结案 ======

6、破案了

破案了,朋友们。

在本文第一部分的开发文档中,“配置流程”第二条“域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost。”,“局域网”三个字有个超链接,点击跳转到“mDNS页面”(https://developers.weixin.qq.com/miniprogram/dev/framework/ability/mDNS.html),会发现多了一条限制:不仅要同一局域网,还要“同一网段”。

这么大的事情,为什么不早说?

为什么不能在前面的文档中就说明呢?“同一网段”这么几个字,写出来有这么难?

我认为,这样拐弯抹角的描述不是好的开发或使用文档能做出来的。

7、结论

经尝试,我的个人电脑和同事的手机处于同一网段,手机端体验版访问后端程序成功。

但是!即便如此,我还是认为“同一网段”的限制不好。

因为,经过与公司网络管理人员咨询,我司的若干服务器没有一台和办公网处于同一网段,而我的测试用户都是连办公网Wifi的,这意味着他们还是不能访问服务器上的后端服务(除非就用我的电脑,或整个树莓派)。而且我相信,还有很多公司也都存在服务器与公司Wifi不在同一网段的情况。

所以,我认为“同一网段”的限制有点过了,不够普适,不如就“同一局域网”就得了。

8、致谢

再次感谢 Mr.Zhao 的热心回答和提醒,他很熟悉这一套,不是资深小程序开发者,就是微信官方人员了(猜测,也可能两者都是),谢谢你。

最后一次编辑于  2023-12-18
回答关注问题邀请回答
收藏

2 个回答

  • 😎
    😎
    2023-12-15

    右上角三个点选调试模式,可以连ip

    2023-12-15
    有用
    回复 3
    • Mr.Zhao
      Mr.Zhao
      2023-12-16
      你正式上线也开调试模式?
      2023-12-16
      1
      回复
    • 🥱
      🥱
      2023-12-18
      哪有三个点,没找到...
      2023-12-18
      回复
    • 🥱
      🥱
      2023-12-18
      噢,你说的是不是“小程序右上角三个点->开发调试->打开调试”,但这确实不足以上线使用😂
      2023-12-18
      回复
  • Mr.Zhao
    Mr.Zhao
    2023-12-15

    局域网通信是不需要配置合法域名的

    2023-12-15
    有用
    回复 10
    • 🥱
      🥱
      2023-12-18
      尊嘟假嘟,但我还是连不上,看来得问问看是不是网络的问题了😂
      2023-12-18
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-12-18回复🥱
      同一个网段
      2023-12-18
      回复
    • 🥱
      🥱
      2023-12-18回复Mr.Zhao
      打通了网络权限之后,确实能访问了,但仅限于开发者工具的调试器&真机调试,且要勾选“不校验合法域名”。其他场景比如体验版,依然不能访问。兄弟你也是这样嘛?
      2023-12-18
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-12-18回复🥱
      没看懂
      2023-12-18
      回复
    • 🥱
      🥱
      2023-12-18回复Mr.Zhao
      啊这,可以看我新编辑的内容,如果你还感兴趣的话😂
      2023-12-18
      回复
    查看更多(5)
登录 后发表内容