问题标签 [undertow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
utf-8 - 有没有办法在 Clojure 中强制对 Immutant 2/Undertow 进行字符编码?
有没有办法在 Clojure 中强制对 Immutant 2/Undertow 进行字符编码?我将 Immutant 2 (2.0.0-alpha2) 用于我的 Web 应用程序,该应用程序以 UTF-8 提供日语网页,尽管该应用程序在 Eclipse 上的 REPL 中运行得非常好,但 Immutant 2 将 HTTP 响应主体转换为 Shift_JIS,在我将应用程序转换为 uberjar 后,我的 Windows 设置中的非 Unicode 应用程序的默认字符编码。
我强烈怀疑这是 Immutant 2/Undertow 中的错误,因为在响应标头中指定了 UTF-8,而 Jetty 和 HTTP Kit 从未发生过此问题。在这一点上,我将不胜感激任何指示,因为我今天花了一整天的时间在这个问题上,我几乎准备放弃 Immutant 2 并回到 HTTP Kit。
java - 为 undertow 服务器设置工作线程
我正在尝试优化 undertow 服务器,我想尝试为我的 HttpListener 设置 I/O 线程(WORKER_IO_THREADS 和 WORKER_TASK_CORE_THREADS)。你能帮我完成所需的步骤吗?
我确实读到需要配置与侦听器关联的 XNIO 工作者。但是我不清楚如何去做。
jakarta-ee - Undertow:发送的 cookie 数量超过了 200 的最大值,可能是服务器攻击?
我刚刚在我的服务器日志中发现了一个似乎不是由使用我的Java EE7
应用程序的员工触发的异常。这发生在Wildfly-8.1.0.Final
安装上。
它说Exception handling request to /manager/html/upload: java.lang.IllegalStateException: UT000046: The number of cookies sent exceeded the maximum of 200
,但日志说当时没有登录用户。此外,甚至不存在资源/manager/html/upload
。
我通过 注册了许多自动闯入尝试sshd
,这是否也是由机器人试图暴力破解可能的后端引起的?
这会影响正常的应用程序使用吗?有没有办法防止此类错误?
这是完整的堆栈跟踪:
java - 运行“空”Undertow 时每秒 HTTP 请求的限制因素是什么?
我正在运行一个非常简单的 Undertow 配置。整个代码包括:
我尝试测试每秒可以处理多少个请求。我正在使用 apacheab
工具进行测量:
我设法获得的最大数字约为 10000 3/秒:
我知道它很大,但我很好奇在这种情况下什么是限制因素。它不是处理器(使用 Java Mission Control 采样时应用程序运行低于 20%),也不是内存。我在 Windows 上运行它 - 也许这就是原因?
spring-mvc - 在 Wildfly 中,"/" 被重写为 "/index.html",绕过了 RequestMapping("/")
我正在将 Spring MVC 应用程序从 JBoss 7.1.1 迁移到 Wildfly 8.1,这需要(鼓励?)我使用新的“undertow”模块而不是旧的“web”模块。事情正在顺利进行,除了现在对“ /
”的请求,它用于调用带有注释的控制器方法@RequestMapping("/")
,不再到达控制器方法。相反,这些请求似乎被立即重写(而不是重定向)到“ /index.html
”。由于我没有(也从来不需要)这样的文件,所有对“ /
”的请求现在都产生 404 错误。
有趣的是,所有其他 @RequestMapping
带注释的控制器方法都继续正常运行。
这是我standalone.xml
文件中的相关片段。
我怀疑当subsystem
Wildfly 的 undertow 模块的定义没有明确声明 ahandler
时,Wildfly 默认为一个file
处理程序,它可能负责 URL 重写——但我不确定这一点。
Wildfly 的 undertow 模块所基于的 Undertow 项目中有关处理程序的文档表明支持“重定向”处理程序。我曾考虑使用它来解决意外的“/”重写,但我不清楚 Wildfly 的 undertow 模块是否支持这一点,如果支持,如何在standalone.xml
. 然而,即使我能够做到,我认为它会感觉像是一个 hack,我更愿意找到问题的根源(不是双关语)。
有许多 SO 问题描述了令人失望的RequestMapping("/")
行为,许多答案建议使用其他路径(例如""
,"/index"
等),但不要忘记:现有(未更改)代码在 JBoss 7.1.1 中运行良好。(此外,这些问题都没有提到 Wildfly,这可能是这个问题的关键考虑因素。)尽管如此,我尝试了各种建议,但一无所获。看起来 URL 在到达调度程序 servlet 之前就被重写了。
所以,总而言之,我的问题是:
如何
RequestMapping("/")
像在 JBoss 7.1.1 中一样让 Spring MVC 应用程序在 Wildfly 8.1 中运行?
java - 使用 Undertow 的基于文本的处理程序配置格式的示例
根据规范,Undertow 有一个不错的基于文本的配置。
但是,我没有看到一行示例代码如何使用这种配置启动 Undertow。
如何使用Undertow.builder()...
文本配置构建 Undertow 服务器。
我正在尝试做类似的事情
wildfly - 如果不接受 cookie,配置 WildFly/Undertow 以将 JSESSIONID 放在 URL 上
我们以前使用 JBoss 7.1.2 并利用 JSESSIONID 放在 URL 上的行为作为不接受 cookie 或请求中不存在 JSESSIONID cookie 的后备。
迁移到 WildFly 8.2.0 / Undertow 1.1.0 后,此 URL 重写不会发生。
是否可以配置 WildFly/Undertow 以将 JSESSIONID 放在 URL 上作为后备?我们知道将 session-config 放入的可能性web.xml
,例如:
但我们只希望 URL 上的 JSESSIONID 作为后备解决方案。
spring-mvc - SpringBoot Undertow:如何调度到工作线程
我目前正在查看springboot undertow,并且(对我来说)如何将传入的http请求分派给工作线程以进行阻塞操作处理还不是很清楚。
查看UndertowEmbeddedServletContainer.class类,看起来没有这种行为,因为唯一的 HttpHandler 是允许 @Controller 配置的 ServletHandler
默认情况下,所有请求都由 IO-Thread 处理以进行非阻塞操作。这是否意味着每个@Controller 执行都将由非阻塞线程处理?或者是否有从 IO-THREAD 或 WORKER-THREAD 中选择的解决方案?
我尝试编写一个解决方法,但是这段代码非常难看,也许有人有更好的解决方案:
BlockingHandler.class
UndertowInitializer.class
UndertowHandlerPostProcessor.class
覆盖 UndertowEmbeddedServletContainerFactory.class
覆盖 UndertowEmbeddedServletContainer.class
将初始化程序设置为应用程序上下文
最后创建一个分派到工作线程的 HttpHandler
}
正如你所看到的,我的“解决方案”真的很重,我真的很感激任何帮助来简化它。
谢谢
java - 覆盖 Wildfly 8 中的默认 servlet-container
我的 Wildfly 设置中有多个虚拟主机,但我无法让它们使用自定义 servlet 容器,而是全部使用默认容器。我特别需要这样做来自定义会话cookie,以便各个站点在各自的端口上工作,而不会破坏其他人的会话。
独立的.xml:
相应的 jboss-web.xml 文件具有以下内容:
和
既没有指定 server 标记的 servlet-container 属性,也没有在 jboss-web.xml 中指定 servlet-container 标记似乎有任何效果,并且始终使用默认的 servlet 容器。
有什么我想念的吗?或者在某个地方是否存在阻止 servlet 容器成为默认容器的错误?