这可能是一个虚拟的问题,但我想知道在一个虚构的场景中是否有可能解决这个问题:
我有一个由2台机器组成的安全环境。在主机A中,我们有后端(Flask api),在主机B中,我们有和Angular应用。只有主机B将暴露其端口4200,以使得能够从世界(或可能从确定数量的允许IP)访问该角度。
有没有办法让这一切成为可能?因为主机A的IP只能从主机B访问,并且,当从外部主机执行Angular应用程序时,它向机器A的IP发出的请求无法执行,因为它无法到达主机。
提前谢谢你。
注意:
Angular中的请求是通过“@angular/common/ HttpClien”中的http完成的。
发布于 2019-06-05 00:02:11
因为Angular是为客户端提供服务的,所以客户端需要联系可以访问API的服务器。这意味着主机B(不要暴露端口4200,不要将ng serve用于实际生产!)将只能为Angular应用程序提供服务,而API将无法访问。
您可以将其设置为主机B是主机A的代理,然后它将接受API的传入流量,并在幕后进行中继。作为reverse proxy,Nginx或Apache都能够为您完成此操作。
但除此之外,没有办法连接到客户端在实际网络之外无法连接到的主机。
https://stackoverflow.com/questions/56447441
复制相似问题