我写了一个网站(NEXTJS + Node js + Express + Postgresql)。该网站将在 LAN 上运行。这就是为什么我通过 HTTPS 运行 Next js(前端)和 NodeJS(后端)端,现在应该可以从连接到同一网络的所有设备访问它,当我从任何计算机(chrome 浏览器)转到
https://mrdev
时,我可以访问网站并使用它没有任何问题,但是当我尝试从连接到同一网络的手机(chrome浏览器)访问它时,我遇到文本 DNS_PROBE_STARTED (但我可以从地址访问它https://192.168 .5.41,但这不会向后端发送请求,因为设置了 SERVER_BASE_URL = 'https://mrdev:3000'),我不知道它为什么这样做,为什么会发生这种情况。让我想一下,我应该能够访问它,但我不能,为什么会发生这种情况?我该如何解决这个问题?
让我想想,我应该能够访问它,但我不能
本地网络上的 DNS 配置一直非常复杂。 “它会一直有效,直到它不起作用......”
简短的回答是,即使您在同一网络上使用相同的浏览器,设备(以及浏览器平台也可能会影响名称解析,特别是当您在 URL 中使用主机名时。(是吗?)一个非常短的 FQDN,PQDN 是否应该存在等等?)。
我不熟悉 Android 中的解析器配置,或者您的浏览器是否有覆盖,但您可以尝试确保 wifi 配置中的 DNS 配置在设备之间保持一致。
两种可能的解决方案:
从主机管理员/网络管理/服务方法来看,让您的环境使用“真实 DNS”(即显然是 FQDN 的域名)将是解决方案。即使您不知道如何执行此操作,也许您可以向拥有游戏/测试/开发域的人求助...
(这也可能防止未来的连接意外......)
在本地,快速谷歌建议 Android 手机仍然有 /etc/hosts,因此请将您的 mrdev -> IP 地址放入其中。