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

问题描述

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

解决方法

如果您为此使用 ngrok,您可能需要另一个用于 API 的隧道,除非 UI 和 API 都从 127.0.0.1:5000 提供。

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