Spring Web:将URL映射到独立的Spring应用程序

时间:2018-06-12 19:19:13

标签: rest spring-mvc spring-boot web-applications spring-web

我有两个独立的Spring Boot / Web web应用程序.jars,A和B,都是由第三方制作的,带有自己的URL映射,我事先并不知道。

我想创建一个设置,其中“localhost:8080 / A”映射(传递)到A的“/”映射。同样,“localhost:8080 / B”应该传递给B的“/”映射。

其他映射,我不一定提前知道,也应该分别通过 - 所以“localhost:8080 / A / items”应该传递给A的“/ items”等。

我没有A或B的源代码,只有.jar文件。

为了安全起见,A和B应该有不同的范围,彼此不了解或彼此互动的能力。整个设置应该表现得好像A和B是我的“外部”本地主机服务器中的独立“内部”服务器。

这可以通过Spring Boot / Web包装器或网关应用程序或其他方式实现吗?

1 个答案:

答案 0 :(得分:0)

您可以将Zuul作为第三个应用程序使用spring boot,在8080上运行,其中A和B的路由设置类似于您所描述的。

zuul:
  routes:
    app-A:
      path: /A/**
      url: http://localhost:8081/
    app-B:
      path: /B/**
      url: http://localhost:8082/

您的第三个应用程序的配置(application.yml)会将“A”流量指向端口8081,将“B”流量指向端口8082.

这很快,很脏,但应该让你开始。

或者,您可以使用spring cloud gateway,以获得类似类型的设置,并具有执行套接字/响应的附加功能。