我正在一个有两个不同网络接口的设备上运行一个Nginx web服务器。我想在端口80上提供一个React,它在同一设备的不同端口上对API服务器进行API调用。我已经将Nginx配置为在端口80上侦听,并且它在两个接口上都正确地服务了React应用程序。然而,进行API调用要困难得多。
如果我只有一个固定IP的接口,我会在React应用程序中将该IP设置为API服务器地址,这样就可以了。但是,当有几个接口时,React并不会使用哪个接口来服务它。因此,it不知道哪个是API服务器的IP .。
这个问题对于只有一个接口但其IP动态变化的设备也是有效的。Nginx直接为web页面提供服务,而不考虑IP,但React需要知道要调用的IP地址。
我理解一个常见的解决方案是将一个域分配给API服务器,但在我的场景中,与设备的连接只在本地网络上进行。
我考虑过的解决办法:
实际上,我想要的是React通过它了解IP的方法,或者是Nginx根据设备IP的配置为web服务的方法。有这样的解决办法吗?
发布于 2020-04-30 07:18:48
由于React应用程序是在本地网络中服务的,并且它不使用域,所以在浏览器中使用设备IP作为href请求它。因此,应用程序可以使用javascript方法window.location.href获取设备的IP地址,并将其用作API服务器地址。
https://stackoverflow.com/questions/61501461
复制相似问题