代码之家  ›  专栏  ›  技术社区  ›  lordscales91

如何使用Java后端正确部署Angular 2应用程序?

  •  1
  • lordscales91  · 技术社区  · 8 年前

    场景是这样的:我正在开发一个具有Angular 2前端的Java EE应用程序。客户端有一个Apache服务器,通常用于提供静态资源,还有一个Oracle Weblogic用于动态部分。问题是,默认情况下,由于同源策略,Angular 2应用程序和Weblogic服务器将无法相互对话。

    1. 设置 Reverse Proxy 在Apache中,将REST端点指向Weblogic

    2. 将Angular应用程序打包到与Java后端相同的WAR中。因此,我最终使用myserver/myapp作为UI,myserver/myapp/api作为REST端点。

    哪种方法是正确的?

    1 回复  |  直到 8 年前
        1
  •  1
  •   TruckDriver    8 年前

    如果允许您做出infra决策,将apache webserver更改为nginx,我们将切换到nginx,并在并发处理方面获得了很多附加值。

    不要害怕设置CORS,您最终将需要允许一些不源自您的域和端口的起源请求。

    如果您的java技术堆栈具有spring mvc,那么设置CORS只需添加几行配置即可。您甚至可以对角度url进行硬编码,以允许后端服务器仅为来自角度url的请求提供服务。 在普通的JavaEE世界中,CORS只是另一个过滤器或拦截器,您可以在其中使用所有允许的来源、http方法等设置响应头。您可以很简单地查找它。

    对于您给定的选择

      1. 看起来有点奇怪,您可能希望将静态content server与动态content server、角度js包和资产分离开来 etc大多是静态的,如果将静态服务器分开
    • 3与2相同。

    推荐文章