You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wildfly 10:如何记录HTTPS连接中客户端使用的密码套件?

在Wildfly 10中记录HTTPS连接使用的密码套件

没问题,我来帮你搞定Wildfly 10里记录HTTPS连接密码套件的事儿!下面两种方法可以让你轻松捕获客户端使用的密码套件信息:

方法一:通过Wildfly日志子系统配置专门的SSL日志

Wildfly 10默认用Undertow作为Web服务器,我们可以通过调整日志子系统的配置,把SSL握手相关的信息单独输出到指定日志文件:

  1. 打开你的Wildfly配置文件(单机模式用standalone.xml,域模式用domain.xml),找到日志子系统节点 <subsystem xmlns="urn:jboss:domain:logging:3.0">。
  2. 先添加一个专门的日志文件处理器,避免SSL日志和普通业务日志混在一起:
<periodic-rotating-file-handler name="SSL_FILE" autoflush="true">
    <formatter>
        <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="ssl-handshake.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
</periodic-rotating-file-handler>
  1. 接着添加日志类别,针对Undertow的SSL处理模块设置DEBUG级别,并关联刚才的日志处理器:
<logger category="io.undertow.server.protocol.ssl">
    <level name="DEBUG"/>
    <handlers>
        <handler name="SSL_FILE"/>
    </handlers>
</logger>

如果需要更底层的Tomcat SSL日志补充,也可以再加一个:

<logger category="org.apache.tomcat.util.net">
    <level name="DEBUG"/>
    <handlers>
        <handler name="SSL_FILE"/>
    </handlers>
</logger>

方法二:启用JSSE调试日志获取完整握手细节

如果需要看客户端发起的所有密码套件选项,以及更完整的握手流程,可以在启动Wildfly时添加JVM参数:

-Djavax.net.debug=ssl:handshake:verbose

这个参数会把所有SSL握手的详细过程输出到服务器标准输出日志里。你可以结合方法一的配置,或者在启动脚本里调整输出重定向,把这些信息单独存到文件。

查看日志内容

配置完成后重启Wildfly,当有客户端发起HTTPS连接时,你就能在指定日志文件(比如ssl-handshake.log)里找到类似内容:

*** ServerHello, TLSv1.2
RandomCookie: GMT: 1699999999 bytes = { 111, 222, 33, ... }
Session ID: {44, 55, 66, ...}
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Compression Method: 0

这里的Cipher Suite字段就是最终协商使用的密码套件,同时你还能看到客户端最初发送的所有密码套件列表,方便判断哪些套件正在被使用。

内容的提问来源于stack exchange,提问作者Valentin C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 13:42:38