首页 > 解决方案 > Wildfly 中奇怪的请求/响应机构?

问题描述

我在 Wildfly 中运行的应用程序中遇到了涉及请求/响应主体的奇怪问题。在我看来,某处的缓冲区正在由服务不同请求的多个线程共享。

应该是来自我的应用程序的 JSON 的请求正文示例:

{TTP/1.0 200 OK
Expires: 0
Cache-Control: max-age=7200
X-Powered-By: Undertow/1
Server: WildFly/10
X-XSS-Protection: 1; mode=block
Pragma: 
X-Frame-Options: DENY
Accept-Ranges: bytes
Date: Fri, 07 Dec 2018 06:32:15 GMT
Connection: close
Last-Modified: Fri, 30 Nov 2018 17:08:34 GMT
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Content-Length: 570
Content-Type: text/html; charset=UTF-8

"-","appliedMethods":[{"uuid":"ebe163d3-c14c-4664-96a1-de8be17d462b","method":{"guid":"631e552a-e86e-44dc-8f2f-14e5b9bafa63", ... normal JSON continues

如您所见,正文以普通字符开头,但随后被另一个请求提供的原始响应{的一部分覆盖some 。text/html

响应也会发生同样的事情。不幸的是,我没有记录响应,所以我只有一张图片:

奇怪的反应体

响应正文被不同的响应部分覆盖,只是这次第一个字符也被替换了。

我的堆栈是:

我的其他观察:

据我所知,我的应用程序中没有任何可能导致此类行为的“异常代码”。

唯一超出标准范围的@Controller东西是 RequestWrapper 缓存请求主体以进行日志记录。它几乎等同于org.springframework.web.util.ContentCachingRequestWrapper并且肯定无法获得响应。

PS看起来这个问题是关于同一个问题。

更新:Nginx 日志证明请求来自客户端是正常的。

标签: javaspring-mvcnginxwildfly

解决方案


推荐阅读