在两个不同的服务器上分离前端应用程序和后端应用程序

时间:2017-09-20 16:12:43

标签: ruby-on-rails angularjs frontend backend

我有一个关于在两台不同服务器上分离前端应用和后端应用的问题。

前端:AngularJS,进行$ http API调用,托管在Tomcat上,ip:1.1.1.1

后端:Ruby on Rails,托管在Nginx上,ip:2.2.2.2

我想限制Ruby on Rails接收来自1.1.1.1的请求,我该怎么做?

我发现由于AngularJS Web应用程序位于浏览器客户端,如果我在Ngnix.conf上设置允许从1.1.1.1进行访问,则无法正常工作。

1 个答案:

答案 0 :(得分:0)

  

我想限制Ruby on Rails接收来自1.1.1.1的请求,我该怎么做?

这是一个非常糟糕的主意。这需要您的前端服务器代理每个请求后端。这将带来巨大的开销 - 并没有真正的好处。

如果您正在代理,则无法再将前端服务器作为精简静态文件传送机运行,这是SPA中的前端服务器应该做的事情。

代理来自客户端的请求,使它们看起来来自您自己的服务器,这会打开一系列安全问题。

因此后端服务器必须对客户端开放并直接响应。那就是API服务器究竟做了什么!