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
nginx同一端口监听多个域名和同时监听http,https
Android Gradle 插件Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )