SSL 配置在 Wildfly 26.0.1 中不起作用
SSL configuration is not working in Wildfly 26.0.1
我们正在尝试将 Wildfly 从 8.1.0.Final 迁移到 26.0.1.Final。目前 Wildfly 运行 处于独立模式,因此 standalone.xml 用于配置,目前还没有域配置。
一切正常,包括管理控制台、程序包部署等,但使用 https 请求 URL 给我们“无法访问此站点”。 Wildfly 26.0.1.Final 中的 SSL 配置似乎有问题,因为在版本 8.1.0.Final.
中使用了相同的 SSL 证书
这是我们正在使用的 SSL/TLS 配置:
<tls>
<key-stores>
<key-store name="abc-keystore">
<credential-reference clear-text="clearpasswordonetwothree"/>
<implementation type="JKS"/>
<file path="abc-keystore.jks" relative-to="jboss.server.config.dir"/>
</key-store>
</key-stores>
<key-managers>
<key-manager name="applicationKM" key-store="abc-keystore">
<credential-reference clear-text="clearpasswordonetwothree"/>
</key-manager>
</key-managers>
<server-ssl-contexts>
<server-ssl-context name="applicationSSC" key-manager="applicationKM"/>
</server-ssl-contexts>
</tls>
我们已从配置中删除 generate-self-signed-certificate-host="localhsot"
,因为证书在我们的案例中不是自签名的。
正如我之前提到的,相同的 SSL 证书已在版本 8.1.0 中使用。
请注意,这与版本 26.0 特别相关。1.Final,我不知道除了上述之外是否还需要其他配置。
非常感谢任何帮助。
以下是我的 Widfly (20) 关于 SSL 的配置方式。
假设您已经设置了一个 Java 密钥库,其名为 'server' 的条目包含您的 certificate/key,您必须告诉 Wildfly 查找该特定别名('server') 在你的密钥库中:
<management>
<security-realms>
...
<security-realm name="ApplicationRealm">
<server-identities>
<ssl>
<keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="..." alias="server" key-password="..." generate-self-signed-certificate-host="localhost"/>
</ssl>
</server-identities>
我 运行 遇到了同样的问题,因为他们删除了安全领域。我使用了本手册的顶部:https://docs.jboss.org/author/display/WFLY/Simple%20SSL%20Migration.html
我的设置是我有一个 .cer 证书和密钥,我必须 re-create 使用这两个答案的密钥库: and How to import an existing X.509 certificate and private key in Java keystore to use in SSL?
- 使用虚拟证书创建密钥库:
keytool -genkeypair -alias boguscert -storepass changeit -keypass changeit -keystore server.keystore -dname "CN=Developer, OU=Department, O=Company, L=City, ST=State, C=CA"
- 从密钥库中删除虚拟证书:
keytool -delete -alias boguscert -storepass changeit -keystore server.keystore
- 从密钥和 .crt 文件创建 pkcs12 证书
openssl pkcs12 -export -in <SERVERNAME>.crt -inkey <SERVERNAME>.key -out server.p12 -name server
- 将 pkcs12 证书导入空密钥库:
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore server.keystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias server
然后我使用位于 bin 目录中的 wildfly-cli 按照上面链接的 jboss 文档的顶部进行操作。
这会将所需的 xml 写入 standalone.xml 因此请确保您使用的是 wildfly 26.0.1 附带的原版。
之后我不得不使用这个启用 ssl 重定向:
希望对您有所帮助
这是我在 Wildfly 支持的帮助下整理出来的。就我而言,它是独立模式。
TLS 块:
<tls>
<key-stores>
<key-store name="applicationKS">
<credential-reference clear-text="password"/>
<implementation type="JKS"/>
<file path="C:\wildfly26\application.keystore.jks"/>
</key-store>
</key-stores>
<key-managers>
<key-manager name="applicationKM" key-store="applicationKS" generate-self-signed-certificate-host="localhost">
<credential-reference clear-text="password"/>
</key-manager>
</key-managers>
<server-ssl-contexts>
<server-ssl-context name="applicationSSC" protocols="TLSv1.2" key-manager="applicationKM"/>
</server-ssl-contexts>
</tls>
在 https-listener
中引用 SSL 上下文
<https-listener name="https" socket-binding="https" ssl-context="applicationSSC" enable-http2="true"/>
socket-binding-group
下的套接字绑定
将端口从 8443 更改为 443
<socket-binding name="https" port="${jboss.https.port:443}"/>
配置界面
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>
我们正在尝试将 Wildfly 从 8.1.0.Final 迁移到 26.0.1.Final。目前 Wildfly 运行 处于独立模式,因此 standalone.xml 用于配置,目前还没有域配置。
一切正常,包括管理控制台、程序包部署等,但使用 https 请求 URL 给我们“无法访问此站点”。 Wildfly 26.0.1.Final 中的 SSL 配置似乎有问题,因为在版本 8.1.0.Final.
中使用了相同的 SSL 证书这是我们正在使用的 SSL/TLS 配置:
<tls>
<key-stores>
<key-store name="abc-keystore">
<credential-reference clear-text="clearpasswordonetwothree"/>
<implementation type="JKS"/>
<file path="abc-keystore.jks" relative-to="jboss.server.config.dir"/>
</key-store>
</key-stores>
<key-managers>
<key-manager name="applicationKM" key-store="abc-keystore">
<credential-reference clear-text="clearpasswordonetwothree"/>
</key-manager>
</key-managers>
<server-ssl-contexts>
<server-ssl-context name="applicationSSC" key-manager="applicationKM"/>
</server-ssl-contexts>
</tls>
我们已从配置中删除 generate-self-signed-certificate-host="localhsot"
,因为证书在我们的案例中不是自签名的。
正如我之前提到的,相同的 SSL 证书已在版本 8.1.0 中使用。
请注意,这与版本 26.0 特别相关。1.Final,我不知道除了上述之外是否还需要其他配置。
非常感谢任何帮助。
以下是我的 Widfly (20) 关于 SSL 的配置方式。
假设您已经设置了一个 Java 密钥库,其名为 'server' 的条目包含您的 certificate/key,您必须告诉 Wildfly 查找该特定别名('server') 在你的密钥库中:
<management>
<security-realms>
...
<security-realm name="ApplicationRealm">
<server-identities>
<ssl>
<keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="..." alias="server" key-password="..." generate-self-signed-certificate-host="localhost"/>
</ssl>
</server-identities>
我 运行 遇到了同样的问题,因为他们删除了安全领域。我使用了本手册的顶部:https://docs.jboss.org/author/display/WFLY/Simple%20SSL%20Migration.html
我的设置是我有一个 .cer 证书和密钥,我必须 re-create 使用这两个答案的密钥库:
- 使用虚拟证书创建密钥库:
keytool -genkeypair -alias boguscert -storepass changeit -keypass changeit -keystore server.keystore -dname "CN=Developer, OU=Department, O=Company, L=City, ST=State, C=CA"
- 从密钥库中删除虚拟证书:
keytool -delete -alias boguscert -storepass changeit -keystore server.keystore
- 从密钥和 .crt 文件创建 pkcs12 证书
openssl pkcs12 -export -in <SERVERNAME>.crt -inkey <SERVERNAME>.key -out server.p12 -name server
- 将 pkcs12 证书导入空密钥库:
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore server.keystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias server
然后我使用位于 bin 目录中的 wildfly-cli 按照上面链接的 jboss 文档的顶部进行操作。
这会将所需的 xml 写入 standalone.xml 因此请确保您使用的是 wildfly 26.0.1 附带的原版。
之后我不得不使用这个启用 ssl 重定向:
希望对您有所帮助
这是我在 Wildfly 支持的帮助下整理出来的。就我而言,它是独立模式。
TLS 块:
<tls>
<key-stores>
<key-store name="applicationKS">
<credential-reference clear-text="password"/>
<implementation type="JKS"/>
<file path="C:\wildfly26\application.keystore.jks"/>
</key-store>
</key-stores>
<key-managers>
<key-manager name="applicationKM" key-store="applicationKS" generate-self-signed-certificate-host="localhost">
<credential-reference clear-text="password"/>
</key-manager>
</key-managers>
<server-ssl-contexts>
<server-ssl-context name="applicationSSC" protocols="TLSv1.2" key-manager="applicationKM"/>
</server-ssl-contexts>
</tls>
在 https-listener
中引用 SSL 上下文<https-listener name="https" socket-binding="https" ssl-context="applicationSSC" enable-http2="true"/>
socket-binding-group
下的套接字绑定
将端口从 8443 更改为 443
<socket-binding name="https" port="${jboss.https.port:443}"/>
配置界面
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>