【发布时间】:2021-04-03 03:56:08
【问题描述】:
我有两个项目。两者都是反应式 Spring。项目一是 Javascript 应用程序和 Spring Cloud Gateway 的组合,用于反向代理。第二个项目是 Spring 资源服务器。
将来自/api/artists 的代理请求投射到http://localhost:8081/v1/artists 的第二个。
如果我使用有效的 JWT 直接调用资源服务器(项目二),则响应返回 HTTP 200。如果我通过项目一中的反向代理,并使用相同的 JWT 访问 http://localhost:8080/api/artists,我从项目 2 接收 HTTP 403,并通过项目 1 传播回来。
这是我的 Spring Cloud Gateway 配置:
spring:
cloud:
gateway:
routes:
- id: experience-api
uri: http://localhost:8081/v1/artists
predicates:
- Path=/api/artists/**
filters:
- TokenRelay=
HTTP 403 表示虽然令牌有效,但它必须缺少执行操作的其他权限。不过,我不确定为什么直接调用它而不是通过反向代理/Spring Cloud Gateway 调用它。
【问题讨论】:
标签: spring spring-boot spring-security spring-cloud spring-cloud-gateway