首页 > 解决方案 > 如何在 jetty 嵌入式版本 9.x 中禁用主机名验证

问题描述

目前,我有一个 Verison 9.3.x Embedded Jetty 服务器可以完美地通过端口 8080 和 8443 提供 websockets 通信以实现安全通信。我需要禁用主机名和证书的验证,但我不能禁用它。

我正在使用 setTrustAll 和 setEndpointIdentificationAlgorithm(null) 方法,但主机名验证仍处于激活状态。sslContextFactory.setTrustAll(true); sslContextFactory.setEndpointIdentificationAlgorithm(null); 怎么能避免呢?

标签: jetty-9

解决方案


您是否使用 HttpsConfiguration 并设置 SecureRequestCustomizer?当我遇到这个时,我正在这样做,它让我发疯,直到我意识到这是我的错。所以 SNI 的东西基本上在 SslContextFactory 和 SecureRequestCustomizer 之间是重复的,你需要在两个地方都将它设置为 false。


推荐阅读