我已经在端口7000上运行了嵌入式Jetty。此外,我还在同一计算机上的端口8100上运行了一个密钥斗篷服务器。
我所有的客户访问都通过Jetty,即localhost:7000。因此,我将keycloak作为Jetty上的反向代理,即localhost:7000 / keycloak / auth将重定向到localhost:8100 / auth。它正确打。
现在,有KeycloakInstalled客户端可以对用户进行身份验证。我已将auth-url提供为http://localhost:7000/keycloak/auth。当我运行此客户端时,它会正确验证用户身份,但是在重获令牌时,它会给出一个例外,即为它提供的auth-url(localhost:7000 / keycloak / auth)与keycloak服务器(localhost: 8100 / auth)。
我还尝试了以下操作:
https://www.keycloak.org/docs/1.9/server_installation_guide/topics/clustering/load-balancer.html
但是,我无法从Jetty生成X-Forward标头。
我在这里做任何基本的事情吗? 这里的任何指针将非常有帮助。 谢谢。
答案 0 :(得分:0)
我通过Jetty反向代理将http://localhost:7000/auth(不是localhost:7000 / keycloak / auth)映射到http://localhost:8100/auth来解决此问题。效果很好。
附言我还需要在keycloak standalone.xml中添加proxy-address-forwarding =“ true”