Jboss eap 6.4 https 配置监听端口 8443 失败
Posted
技术标签:
【中文标题】Jboss eap 6.4 https 配置监听端口 8443 失败【英文标题】:Jboss eap 6.4 https configuration is failing to listen to the port 8443 【发布时间】:2019-10-26 20:20:29 【问题描述】:我正在使用 jboss-eap-6.4 来部署我的 Web 应用程序。我想让我的服务器支持 https 请求。所以我使用以下命令生成了密钥库:
keytool -genkey -v -keystore foo.keystore -alias foo
我将上面的密钥库文件移动到D:\\jboss-eap-6.4\\standalone\\configuration\\
下,并在standalone.xml
文件中添加了以下连接器:
<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="https" socket-binding="https" scheme="https" protocol="HTTP/1.1" secure="true" enable-lookups="false">
<ssl name="foo-ssl" protocol="TLSv1" certificate-key-file="D:\\jboss-eap-6.4\\standalone\\configuration\\foo.keystore" key-alias="foo" password="secret"/>
</connector>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
https端口配置为8443端口:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="$jboss.socket.binding.port-offset:0">
<socket-binding name="management-native" interface="management" port="$jboss.management.native.port:9999"/>
<socket-binding name="management-http" interface="management" port="$jboss.management.http.port:9990"/>
<socket-binding name="management-https" interface="management" port="$jboss.management.https.port:9443"/>
<socket-binding name="ajp" port="8009"/>
<socket-binding name="http" port="8080"/>
<socket-binding name="https" port="8443"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
然后我尝试使用端口号 8443(通过 https)访问该 url,但应用程序无法侦听该端口。知道我在这里缺少什么吗?
错误详情: 在 IE 边缘:
Can’t connect securely to this page
This might be because the site uses outdated or unsafe TLS security settings. If this keeps happening, try contacting the website’s owner.
Your TLS security settings aren’t set to the defaults, which could also be causing this error.
Try this:
Go back to the last page
在火狐中:
Secure Connection Failed
An error occurred during a connection to hddt0719:8443. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP
The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.
Learn more…
Report errors like this to help Mozilla identify and block malicious sites
【问题讨论】:
是<socket-binding-group>
,请看一下。在我的情况下,端口偏移量为零。现在有什么想法吗?
“应用程序无法监听端口”是什么意思?你遇到了什么错误。
@Abhijeet,现在在问题中添加了错误详细信息,请查看。现在有什么想法吗?
根据错误日志,您没有为您的 ssl 标签指定密码。添加cipher-suite
解决问题
【参考方案1】:
你应该改变方式,生成keystore,使用命令
keytool -genkey -keystore foo.keystore -alias foo -keyalg "RSA" -sigalg "SHA1withRSA" -keysize 2048 -validity 365
keytool默认生成DSA类型的keystore,你应该提供RSA类型的keystore。 我检查了这两种类型的密钥,我的 jBoss 使用了以建议方式生成的 RSA ssl 密钥库。 你的 jBoss 配置是正确的。
【讨论】:
以上是关于Jboss eap 6.4 https 配置监听端口 8443 失败的主要内容,如果未能解决你的问题,请参考以下文章
JBOSS EAP 6.4:无法在生成的 WSDL 中的“soap:address”中使用 HTTPS 模式
SQL Server 2014 在 JBOSS EAP 6.4 数据源配置中连接失败