微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

keycloak-12.0.4 wildfly-21.0.2 连接被拒绝

如何解决keycloak-12.0.4 wildfly-21.0.2 连接被拒绝

wildfly-10 上的 myapp 使用 keycloak-6 进行身份验证 2 年没有任何问题。 SSL 证书已过期,我重新安装了新的 SSL 并更新到 wildfly-21 和 keycloak-12。 我收到连接被拒绝错误

以下是不同步骤的列表:

我为 keycloak-12 安装了 Sectigo Essential Wildcard SSL,如下所示:

  1. 我从 mydomain.net.csr 颁发了证书
  2. 我收到了 3 个文件:_mydomain_net.crt、AAA_Certificate_Services.crt 和 USERTrust_RSA_Certification_Authority.crt
  3. openssl pkcs12 -export -in _mydomain.crt -inkey mydomain.net.key -out mydomain.net.pl12 -name default -CAfile AAA_Certificate_Services.crt -caname root
  4. keytool -importkeystore -destkeystore mydomain.net.jks -srckeystore mydomain.net.pl12 -srcstoretype PKCS12 -alias
  5. cp mydomain.net.jks keycloak-12.0.4/standalone/configuration/

我将 keycloak standalone.xml 配置如下:

<security-realm name="UndertowRealm">
   <server-identities>
       <ssl>
            <keystore path="mydomain.net.jks" relative-to="jboss.server.config.dir" keystore-password="mypass" />
       </ssl>
   </server-identities>
...
</security-realm>
   <https-listener name="https" socket-binding="https" security-realm="UndertowRealm" enable-http2="true"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <http-invoker security-realm="UndertowRealm"/>
                </host>
...
<spi name="truststore">
    <provider name="file" enabled="true">
        <properties>
            <property name="file" value="${jboss.server.config.dir}/mydomain.net.jks"/>
            <property name="password" value="mypass"/>
            <property name="hostname-verification-policy" value="WILDCARD"/>
            <property name="disabled" value="false"/>
        </properties>
    </provider>
</spi>    

添加了证书到jvm

cp _mydomain_net.cert to /usr/lib/jvm/java-8-oracle/jre/lib/security/
keytool -import -alias ca -file _mydomain.net.crt -keystore cacerts -storepass mypass

在这个级别,我可以通过 https 访问我的 keycloak 安装,没有任何问题。

我将 wildfly-21.0.2 配置如下:

cp mydomain.net.jks standalone/configuration/mydomain.net.jks 

我在wildfly-21.0.2服务器的jvm中添加一个认证

cp _mydomain_net.cert to /usr/lib/jvm/java-8-oracle/jre/lib/security/
keytool -import -alias ca -file _mydomain_net.crt -keystore cacerts -storepass mypass

我的 web.xml

   <security-constraint>
      <web-resource-collection>
         <url-pattern>/home/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>uma_authorization</role-name>
      </auth-constraint>
   </security-constraint>

   <login-config>
      <auth-method>KEYCLOAK</auth-method>
   </login-config>

   <security-role>
      <role-name>uma_authorization</role-name>
   </security-role>

我无法将 myapp 从 wildfly-21 连接到 keycloak-12,错误

[org.keycloak.adapters.KeycloakDeployment] (default task-1) Failed to load URLs from https://iam.mykeycloak.net/auth/realms/demo/.well-kNown/openid-configuration: java.net.ConnectException: Connection refused (Connection refused)

在这个问题上工作了三天没有任何成功,我不知道如何解决这个问题。提前感谢您的任何想法/建议。

解决方法

https 端口丢失。 将 https://iam.mykeycloak.net 更改为 https://iam.mykeycloak.net:8543

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。