我需要实现我的spring boot + cloud gateway应用程序,以作为涉及多个站点的一些规则的代理,例如:
usecase 1: http://gateway/admin/** <-> http://site1/** (an admin site)
usecase 2: http://gateway/rest/** <-> http://site1/rest/** (a REST API)
usecase 3: http://gateway/<everything else>/** -> http://site2/**
到目前为止,我已经按照spring.io教程中的说明对netflix-zuul进行了试验:
zuul.routes.admin.path=/admin/**
zuul.routes.admin.url=http://site1
zuul.routes.rest.path=/rest/**
zuul.routes.rest.url=http://site1/rest
ribbon.eureka.enabled=false
简单的一对一映射有效,例如http://gateway/rest/foo <-> http://site1/rest/foo。仅对于用例2,这可能就足够了。
我不确定如何在用例#1中使用前缀(“ admin”)在同一主机中代理管理站点(即内部链接也必须转换)?
此外,稍后,我需要捕获用例3中的所有其他内容,并将其正确转发到第二个站点“ site2”。
Zuul是否适合此工具?请告诉我正确的方向。 TIA!