我只有这个路由配置
spring.cloud.gateway.routes[0].id=x-service
spring.cloud.gateway.routes[0].uri=http://localhost:5555/x-service/v1/private/files
spring.cloud.gateway.routes[0].predicates[0]=Path=/v1/private/files
但是应用重定向到CCD_ 1。
如何解决此问题?
AFAIK spring云网关Route
构建器只考虑传递给UriSpec.uri(String uri)
的主机名和端口,因此此时只有http://localhost:5555
重要。
因此,您需要重写您的路径,使用RewritePath
网关过滤器,如下所示:
spring.cloud.gateway.routes[0].filters[0]=RewritePath=/v1/private/files, /x-service/v1/private/files
第一个参数是原始路径,第二个参数是替换器
RegEx也可以在那里使用。
有关详细信息,请参阅springcloudgateway参考文档
我还建议阅读这篇文章。