Jetty反向代理后面的Keycloak服务器

时间:2018-09-18 19:24:01

标签: java keycloak embedded-jetty

我已经在端口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标头。

我在这里做任何基本的事情吗? 这里的任何指针将非常有帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

我通过Jetty反向代理将http://localhost:7000/auth(不是localhost:7000 / keycloak / auth)映射到http://localhost:8100/auth来解决此问题。效果很好。
附言我还需要在keycloak standalone.xml中添加proxy-address-forwarding =“ true”