为什么keycloak-client-adapter在http上连接?

时间:2019-07-17 17:55:30

标签: wildfly reverse-proxy keycloak

我正在Apache反向代理后面的Wildfly服务器上运行JEE应用。它使用keycloak-client-adapter连接到也在Apache反向代理后面的Keycloak服务器。两个反向代理都终止SSL连接,并通过http连接到Wildfly服务器。

当我打开JEE应用程序时,我将重定向到Keycloak,输入密码后,我还将重定向到我的应用程序-全部通过SSL通过反向代理进行。但是随后我得到了403-原因:App Wildfly尝试连接到Keycloak以验证http上的令牌。这既不被允许(在keycloak.json中为“ ssl-required”:“ all”,在领域中进行设置)也不是http处于活动状态。

从应用程序wildfly server.log

Adapter requires SSL. Request: http://www.domain.tld/myapp/

我已经根据文档设置了Keycloak的反向代理,.well-known / openid-configuration看起来不错-所有URL均为https

keycloak.json

{
  "realm": "myrealm",
  "auth-server-url": "https://sso.domain.tld/auth",
  "ssl-required": "all",
  "resource": "myresource",
  "verify-token-audience": true,
  "credentials": {
    "secret": "secret"
  },
  "use-resource-role-mappings": true,
  "confidential-port": 443,
  "policy-enforcer": {}
}

应用程序反向代理的设置

ProxyPreserveHost    On

ProxyPass /myapp http://127.0.0.1:8080/myapp
ProxyPassReverse /myapp https://www.domain.tld/myapp

有人知道如何在验证中强制使用https吗?那应该是使安装程序运行的最后一步。

0 个答案:

没有答案