在下面的spring cloud gateway配置中,我试图用/favicon.ico
匹配路径结束,但它不能匹配路径:/gitbooks/100/abc/favicon.ico
spring:
cloud:
gateway:
routes:
- id: favicon
uri: forward:///favicon.ico
predicates:
- Path=**/favicon.ico
spring cloud gateway打印以下日志:
2020-02-04 22:57:35.703 TRACE 28356 --- [ctor-http-nio-2] o.s.c.g.h.p.RoutePredicateFactory : Pattern "[**/favicon.ico]" does not match against value "/gitBooks/100/abc/favicon.ico"
2020-02-04 22:57:35.703 TRACE 28356 --- [ctor-http-nio-2] o.s.c.g.h.RoutePredicateHandlerMapping : No RouteDefinition found for [Exchange: GET http://localhost:8080/gitBooks/100/abc/favicon.ico]
我不知道为什么PathMatcher不能工作,最后我写了一个定制的谓词:
spring:
cloud:
gateway:
routes:
- id: favicon
uri: forward:///favicon.ico
predicates:
- Favicon=
@Component
public class FaviconRoutePredicateFactory extends AbstractRoutePredicateFactory<FaviconRoutePredicateFactory.Config> {
private static final Log log = LogFactory.getLog(FaviconRoutePredicateFactory.class);
public FaviconRoutePredicateFactory() {
super(Config.class);
}
@Override
public Predicate<ServerWebExchange> apply(Config config) {
return exchange -> {
String path = exchange.getRequest().getURI().getRawPath();
return !path.equals("/favicon.ico") && path.endsWith("favicon.ico");
};
}
public static class Config {
}
}
Spring Cloud Greenwich将Spring Cloud netflix zuul置于维护模式,因此我正在尝试从zuul迁移到Spring Cloud Gateway。 和Zuul一起我有一条路 我所做的基本上是忽略接收路径中主计划之前或之后的所有内容,并重定向到api主计划。例如,和都指向同一个api(原因是是一个较大实体的子资源,该实体负责创建新的,但是可以将视为完整的资源,用于
我正在使用3.1.0版本的Spring Cloud Gateway,我需要帮助来检查和修复我的路由配置的路径谓词过滤器。 我试图在路径之间使用正则表达式,路由在我的配置中看起来像这样: 虽然这是一个有效的正则表达式,但我收到了路径请求的404错误代码: /random/path/12/update 因此,我需要帮助来找出这个usecase的正确配置。
我试图将使用工作的网关迁移到Spring Cloud网关,但遇到了请求路由问题。 下面是Spring Cloud Gateway配置的一个片段,我试图在其中配置一个等效的路由: 我使用Spring Cloud Eureka作为我的Discovery服务器(在一个单独的微服务中),并且我目前没有任何配置,如配置DiscoveryClient路由的谓词和过滤器中所述 如果我向发出请求,我将收到一个40
我已经用Eureka发现服务实现了Spring Cloud Gateway,一切都很好,但我看到了一些我在编写URL时不知道如何处理的事情,如果我没有在URL的末尾放一个/,Gateway会直接使用其实际URL(在Eureka注册)重定向到应用程序。 例如: https://example.com/bar重定向到应用程序URL(http://example.app.url.com:8010/bar
Tango支持4种形式的路由匹配规则 静态路由 tg.Get("/", new(Action)) tg.Get("/static", new(Action))匹配 URL:/ 到 Action结构体的Get函数 匹配 URL:/static 到 Action结构体的Get函数 命名路由 tg.Get("/:name", new(Action)) tg.Get("/(:name)", new(Act
我正在将我的应用程序从webphere迁移到jboss EAP 7.1.0,但我收到了以下错误。 错误: