Undertow HTTPS 监听器

Posted

技术标签:

【中文标题】Undertow HTTPS 监听器【英文标题】:Undertow HTTPS listener 【发布时间】:2014-12-23 02:45:07 【问题描述】:

我正在尝试提供一个简单的“Hello world!”使用 Undertow 嵌入式服务器通过带有自签名证书的 HTTPS 响应。但是我在客户端(Chrome)上得到ERR_SSL_VERSION_OR_CIPHER_MISMATCH,在服务器日志中得到SSLHandshakeException: no cipher suites in common

似乎除了KeyManager[] 数组之外,我还需要提供 TLS 协议才能使用,但我找不到应该放在哪里。完整示例可在https://github.com/isopov/undertow-https-test/blob/master/src/main/java/com/sopovs/moradanen/UndertowHttpsTest.java 获得 而在https://github.com/isopov/undertow-https-test/blob/master/src/main/java/com/sopovs/moradanen/JettyHttpsTest.java 有使用 Jetty 服务器进行类似测试的示例(证明证书是好的)。

【问题讨论】:

【参考方案1】:

对代码的这种更改对我有用:

    SSLContext sslContext = SSLContext.getInstance("TLS");
    sslContext.init(getKeyManagers(), null, null);

    Undertow.builder().addHttpsListener(10443, "0.0.0.0", sslContext)...

【讨论】:

以上是关于Undertow HTTPS 监听器的主要内容,如果未能解决你的问题,请参考以下文章

用于 http 侦听器的 keycloak 中的 undertow 子系统配置

Spring-boot 为辅助 SSL 侦听器配置 client-auth=need

在 paypal IPN 监听器中使用 HTTPS

nginx同一端口监听多个域名和同时监听http,https

JMeter 查看结果树侦听器显示重复的 https 请求

Android Gradle 插件Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )