myapp на wildfly-10 использовал keycloak-6 для аутентификации в течение 2 лет без каких-либо проблем. Срок действия сертификата SSL истек, и я переустановил новый SSL и обновил его до wildfly-21 и keycloak-12. Я получаю сообщение об ошибке в соединении.
Вот список различных шагов:
Я установил Sectigo Essential Wildcard SSL для keycloak-12 следующим образом:
- Я выдал сертификат mydomain.net.csr
- Получил 3 файла: _mydomain_net.crt, AAA_Certificate_Services.crt и USERTrust_RSA_Certification_Authority.crt
- openssl pkcs12 -export -in _mydomain.crt -inkey mydomain.net.key -out mydomain.net.pl12 -name default -CAfile AAA_Certificate_Services.crt -caname root
- keytool -importkeystore -destkeystore mydomain.net.jks -srckeystore mydomain.net.pl12 -srcstoretype PKCS12 -alias по умолчанию
- cp mydomain.net.jks keycloak-12.0.4 / автономный / конфигурация /
Я настроил 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
На этом уровне я могу без проблем получить доступ к своей установке keycloak через https.
Я настроил wildfly-21.0.2 следующим образом:
cp mydomain.net.jks standalone/configuration/mydomain.net.jks
Я добавил сертифицированный в jvm моего сервера wildfly-21.0.2
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)
Я безуспешно работаю над этой проблемой в течение трех дней и понятия не имею, как ее решить. Заранее благодарим за любую идею / предложение.