我目前有一个 WildFly 9 集群启动并运行,可以通过端口 8080 访问我的应用程序,我想设置 SSL 并且只能在端口 8443 上访问,但我似乎找不到任何有关安全领域和 https 侦听器位置的文档被置于域模式。
我已经设置了密钥库和证书,并且能够让 https 在使用独立模式的演示中工作,但我需要能够在域模式下进行。
任何人都可以帮助我并分享他们是如何做到这一点的吗?
解决了!事实证明,由于某种原因,JBoss 没有注册我的安全领域和 HTTPS 侦听器。为此,您需要使用 bin/jbosscli 和命令:
首先运行“连接”命令
/host=master/core-service=management/security-realm=SSLRealm/:add()
--- 其中 SSLRealm 是领域的名称
/host=master/core-service=management/security-realm=SSLRealm/server-identity=ssl/:add(keystore-path=Keystore.jks, keystore-relative-to=jboss.domain.config.dir, keystore-password=password)
---这假设密钥库位于域/配置目录中
重新启动服务器。
然后,我在弄清楚注册 HTTPS 侦听器的命令时遇到了问题,但我发现 serverURL:9990 的 WildFly Web 控制台也有办法做到这一点:
一旦登录到 webconsole 配置->配置文件->对于每个使用的配置文件->Undertow->HTTP->查看
从那里
HTTP 服务器->默认服务器->查看
最后
HTTPS Listener->ADD 输入名称,如:default-https,Security Realm:为安全领域选择的名称(对于本例 SSLRealm),Socket Binding:https 并单击保存
重新启动
您现在应该可以访问您的服务器URL:8443
要在从属服务器上设置它,您只需将密钥库复制到每个从属服务器的域/配置,然后在命令中添加安全领域,将 /host=master/ 替换为 /host=slave/。然后重启服务器。
仔细检查从属服务器上的 Domain.xml 文件是否具有您最初在 Web 控制台中创建的 https 侦听器(它应该自动放入所有集群 domain.xml 文件中)