【发布时间】:2019-03-09 04:33:29
【问题描述】:
我在基于 UBUNTU 18 的 Digital Ocean Droplet 上设置了一个平均堆栈。 我在 nginx 端口 80 上使用 Angular6,在同一台机器上运行的端口 3333 上使用 nodejs。我还在 nodejs 上启用了 CORS。角度应用程序作为产品构建并复制到服务器。我已经按照数字海洋的描述启用了私有 IP,我可以使用 localhost、内部 IP 和 127.0.0.1 成功地 curl api(nodejs)
现在的问题:当我从 angular6 调用 API 时,除了域名之外的任何东西都给了我一个错误 -> 连接被拒绝,未知错误!在我的开发 PC 上本地一切正常!我认为这可能是一个 cors 问题,但我可以通过 IP 从我的开发机器访问远程 API,没有任何问题。我错过了什么?我发现能够通过域名而不是通过内部IP访问它很奇怪...... 请注意,在开发 PC 上,angular 以 ng serve 的身份运行......唯一的区别是应用程序在将其上传到远程服务器之前作为 prod 构建。
【问题讨论】:
-
所以当你给它一个内部 ip 时,angular 不起作用?
-
不返回:连接被拒绝,未知错误。我可以从服务器内部卷曲它并获得响应。
-
Angular 代码在您的浏览器中运行,而不是在服务器上。你不能从私网外部访问内部ip。
-
噢!你是绝对正确的。我的错。感谢您的宝贵时间!
-
太棒了,np。我将在下面给出一个正确的答案,以便我们可以将此人标记为已解决并帮助保持 stackoverflow 干净
标签: node.js angular localhost mean