问题描述
我们正在使用Keycloak Spring Boot Adapter在作为反向代理的Zuul网关中保护我们的应用程序。
设置
- Keycloak作为SSO和访问管理服务作为docker容器(v 12)运行
- Zuul网关通过Keycloak Spring Boot Adapter v 9.0.3作为Spring Boot应用程序运行,zuul充当反向代理,将请求路由到多个服务
- 将HA代理作为我们春季启动应用程序前面的代理服务器
一切都可以与HTTP作为请求协议一起很好地使用,但是一旦我们启用带有反向代理的HTTPS,那么来自keycloak的redirectUri就不会保留预期的协议(https),并且始终返回http协议。
看来zuul并没有保留“ X-Forwarded-Proto”标头,因此根据此处的春季启动文档,我们还在zuul春季启动应用中添加了这两个属性,但没有帮助:
server.tomcat.remote-ip-header = x-forwarded-for server.tomcat.protocol-header = x-forwarded-proto
Keycloak适配器配置:
- keycloak.ssl-required = all
keycloak.public-client = false
keycloak.allow-any-hostname = true
keycloak.credentials.secret = keycloak.bearer-only = false
keycloak.use-resource-role-mappings = true
keycloak.disable-trust-manager = true
有人可以在这里帮助吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)