繁体   English   中英

使用公共 IP 访问在我的 Azure vm 中运行的 webapp 时出错

[英]Error accessing my webapp running inside my Azure vm using public IP

我知道这不是理想的方法,但尽管如此,我创建了一个 Azure 虚拟机并将我的应用程序部署为运行 react.js 作为前端,springboot 作为后端,数据库作为 mysql。 我使用已经从 dockerhub 创建的 docker 映像来运行容器。 在将所有图像作为容器运行后,如果我使用 RDP 为我的 VM 获取 GUI,我可以登录并连接,并且所有组件都可以正常工作。

但是当我使用 public ip 打开我的应用程序的主页时,它向我抛出一个错误,说它无法连接到http://localhost:8081这是我的 springboot Z572D4E421E5E6B9BC11D815EA8 请注意,我可以访问在我的 vm 中运行的 react-app,但不能访问 springboot 后端。

以下是片段-

在 Azure vm 上运行的WebPage React-app 使用公共 ip 访问

在 Azure vm 上运行的 React-app 使用公共 ip 访问

react 尝试访问 springboot 以进行 api 调用时出错

react尝试访问springboot进行api调用时出错

只是为了澄清这里是我正在使用的所有端口号

80- React 应用程序,并在我的虚拟机中作为入站端口号 8081- 在我的 vm 中运行的 Springboot

由于 react.js 前端会运行在用户端的浏览器中,这里的localhost是用户端的 localhost,而不是你的 Azure 的虚拟机,所以用户无法访问你的虚拟机端口。

在您的 react.js 前端代码中,您应该将 spring-boot URL 指定为http://<your VM piblic IP>:8081而不是并且还需要在Azure VM网络安全组中打开8081端口,使该端口可以被公网访问。 详情请参阅此文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM