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 主机