node.js - 来自 Angular ngResource-Service 的 REST-API 调用未由反向代理转发

标签 node.js angularjs nginx reverse-proxy

我正在尝试在反向代理后面配置两个基于 Node 的 Angular.js 应用程序(尝试了 Apache 和 Nginx 的 mod-proxy)。让我解释一下:

应用程序 A 在 localhost:3000
上运行 应用程序 B 在 localhost:3001
上运行 应用程序 A 应在 http://myServer/appA
上从外部可见 应用程序 B 应在 http://myServer/appB

上从外部可见

问题是,常规资源(index.html、图像、js 文件)已加载,但使用 Angular ngResource-Service 调用 REST-API 不起作用。

使用 Fiddler 的一些调查指出,为了加载常规资源,使用了正确的 URL(例如 http://myServer/appA/image.png),但对于 REST 调用,URL 缺少/appA 路径(例如,调用 http://myServer/data 而不是 http://myServer/appA/data)。

有人知道我该如何解决这个问题吗?是否可以在 Angular ngResurce-Service 上进行配置。或者它是一个服务器端问题,必须通过对 proxy-html 或 mod-proxy 进行适当的设置来解决。

非常感谢您的帮助。

最佳答案

我们解决了这个问题:这是我们自己在使用 Angular 资源服务时出现的错误。我们在 REST 调用的路径中包含了一个前导/,例如/机器。有了这个前导/,所有 URL 都会被绝对解释,例如调用 http://myServer/machines 而不是 http://myServer/appA/machines

关于node.js - 来自 Angular ngResource-Service 的 REST-API 调用未由反向代理转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23367770/

相关文章:

node.js - 通过 Mongoose 模式传递硬编码值

Node.js Easyrtc 在 Heroku 上部署失败

angularjs - 如何使用 $location 在工厂中获取当前 url 的协议(protocol)主机和端口

php - 带有 Larvalel api Nginx 配置的 Nuxt 前端

node.js - 如何从 Mongoose 对象内嵌套的数组中提取数组元素?

node.js - 英特尔爱迪生 MRAA 模块不工作

javascript - Angular Js $范围

angularjs - 使用带有 angularJS (v1) 模板的 html-loader 和 Jest 失败

python - 当我进行重定向时,Django 会加倍我的获取参数,但仅在我们的服务器上

PHPMyAdmin 单点登录身份验证无限重定向循环