nodejs api仅适用于主机而不适用于其他设备

Posted

技术标签:

【中文标题】nodejs api仅适用于主机而不适用于其他设备【英文标题】:nodejs api works only from host machine not from other devices 【发布时间】:2021-06-25 11:51:24 【问题描述】:

我正在尝试访问在主机/localhost 机器上运行的节点 js api。在使用 ngrok 或 IPv4 链接从其他设备访问时,它会正确显示网站的 UI,但 API 无法正常工作(例如用户登录)。 通过单击 vscode API 终端中的登录按钮,不会收到任何从 localhost 机器成功调用的请求。 如何解决此问题,以便在其他设备上也能正常工作?

【问题讨论】:

您是否遇到了 403 或 405 不允许的错误? 没有错误代码 Nodejs api url 是 127.0.0.1:5000/api 无法从外部计算机访问我应该怎么做才能从外部计算机访问它 【参考方案1】:

如果您为此使用 ngrok,您可能需要另一个用于 API 的隧道,除非 UI 和 API 均来自 127.0.0.1:5000

如果它们是从同一个服务端口提供的,那么您的单个 ngrok 隧道应该适用于两者的 HTTP 传输。您要么需要更改 API 调用,使主机名成为隧道的主机名,要么只使用相对 URL 进行 API 调用。例如,API 可以向/api/resource 而不是127.0.0.1:5000/api/resource 发出请求。

【讨论】:

以上是关于nodejs api仅适用于主机而不适用于其他设备的主要内容,如果未能解决你的问题,请参考以下文章

Api 调用适用于从 Postman 获取的令牌,但不适用于通过 nodejs 应用程序获取的令牌

声音仅适用于设备,但不适用于模拟器

Java Spring MVC WebSocket 应用程序仅适用于本地应用程序服务器,但不适用于 openshift 主机

为啥 Slime 检查仅适用于鼠标单击而不适用于键盘命令?

Drive Rest Api正在使用一个电子邮件ID,但不适用于其他gmail ID

Worklight 6.0.0.1 iOS 本机库仅适用于 ARMv7 而不适用于 ARMv7s 和 ARM64?