ssl - 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,如下所示:
- 我从 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 default
- 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
推荐阅读
- performance - 在 Julia 中使用抽象类型字段还是使用具体类型 Union 的结构?
- google-bigquery - Google DataStudio on BigQuery Data,如何显示数组结构
- powershell - PowerShell 可以与 RDP 提示交互吗?
- ruby-on-rails - DiscussionsController#show 中的 ActionView::SyntaxErrorInTemplate
- xml - 如何从 ejabberd 数据包对象中获取数据?
- r - 如何使用具有NA值的顶点属性对igraph对象(图)进行子图化-R
- android - 有没有办法在我的 MainActivity 到达后完成所有其他活动?
- python - Python Graphframes:安装依赖项时遇到问题
- python - Google Oauth 身份验证问题
- java - 为什么 Java 编译器不能推断 Iterable
从约束 Iterable和 () -> (Iterator )