undertow简单入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了undertow简单入门相关的知识,希望对你有一定的参考价值。

参考技术A

Spring Boot 内嵌 Jetty , Tomcat , Undertow , 默认是Tomcat

添加如下依赖

与原来使用Tomcat时配置无太大差别 , 将tomca字段改为undertow即可

添加启动类后运行就可以看到控制台中打印如下信息

测试结论参考链接 :

https://www.jianshu.com/p/ab78515265f4

https://www.cnblogs.com/maybo/p/7784687.html

https://blog.csdn.net/weixin_38187317/article/details/81532560

结论 : 在并发量不高的情况下 , Tomcat与undertow的吞吐量区别不大 , 并发量高的情况下 , undertow的性能要优于Jetty与Tomcat

Undertow HTTPS 监听器

【中文标题】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简单入门的主要内容,如果未能解决你的问题,请参考以下文章

Undertow:使用现有的 Servlet 实例

使用 Undertow 服务 AngularJS

Servlets/Undertow - 访问 HttpServletRequest 和 HttpServletResponse

运行“空”Undertow 时每秒 HTTP 请求的限制因素是啥?

如何在 Undertow 嵌入式服务器中登录文件?

如何关闭嵌入式 Undertow 应用程序?