我想我会从申请开始时开始。
我正在制作一个完整的平均堆栈应用程序,我希望它在 docker 中运行。为了使用 docker,我在 Ubuntu 上使用了 virtualbox。当我运行 docker-compose 时,一切都在 localhost:4200 上运行。现在我想在我的主机(Windows 7)上打开我的应用程序。 当我通过(ip 地址应该保密,对吧?) xxx.xxx.xx.xxx:4200/login 访问我的应用程序时,页面看起来不错,但出现以下错误:
我正在使用 Angular cli 1.4.1 和 Node 8.4.0
为什么我会收到这些错误以及如何修复它们?
我的docker-compose
最佳答案
正在监听端口 4200
的服务器正在监听您的 xxx.xxx.xxx.xxx
接口(interface)(不需要隐藏 LAN IP,但没关系...)。
您的 Angular 应用程序正在您的主机系统上运行。 localhost 是主机系统的本地主机,而不是 guest 系统的本地主机。所以你有两个解决方案:
- 将 Angular 应用程序内的网址更改为指向
xxx.xxx.xxx.xxx:4200
而不是localhost:4200
。 - 使用虚拟盒将 4200 端口从主机转发到访客系统:
- 关闭访客。
- 选择访客并点击
设置
- 转到网络选项卡。
- 点击“高级”
- 然后选择“端口重定向”并将您的主机 127.0.0.1:4200 绑定(bind)到访客的 4200 端口
关于node.js - Angular 4 无法加载资源:net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46972092/