【发布时间】:2017-02-21 23:13:17
【问题描述】:
我有一个具有多个端点的 JBoss 应用程序。所有这些端点都应该可以通过单向 SSL (HTTPS) 提供给任何用户,除了特定的端点(我们称之为 /app/sensitive),它只能由特定的机器访问(即 2-way SSL)。 有没有办法同时为 1/2 路 SSL 配置 JBoss,根据请求的端点来区分?
【问题讨论】:
标签: java security ssl jboss certificate
我有一个具有多个端点的 JBoss 应用程序。所有这些端点都应该可以通过单向 SSL (HTTPS) 提供给任何用户,除了特定的端点(我们称之为 /app/sensitive),它只能由特定的机器访问(即 2-way SSL)。 有没有办法同时为 1/2 路 SSL 配置 JBoss,根据请求的端点来区分?
【问题讨论】:
标签: java security ssl jboss certificate
我不确定,因为没有测试它,但看起来你可以拥有 一个端口上的单向 SSL 和另一个端口上的双向 SSL。
来自standalone.xml(或domain.xml):
<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
...
<connector name="one-way-https" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" socket-binding="one-way-https" enable-lookups="false" secure="true">
</connector>
<connector name="two-way-https" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" socket-binding="two-way-https" enable-lookups="false" secure="true">
<ssl name="two-way-ssl" key-alias="my-identity" password="${VAULT::Jboss_config::store_password::1}" certificate-key-file="../standalone/configuration/cert/JBoss_Identity.jks"/>
</connector>
...
</subsystem>
<socket-binding-group name="standard-sockets" ...>
...
<socket-binding name="one-way-https" port="8443"/>
<socket-binding name="two-way-https" port="8453"/>
...
</socket-binding-group>
如果你要测试它,请告诉我它是否解决方案,因为在不久的将来我必须这样做,只是现在没有时间检查它......谢谢。
顺便说一句,在<ssl> 元素中,您可以定义除默认信任库和密钥库以外的其他端口以在该端口上使用。
我希望它会起作用。
【讨论】: