在测试服务器中获取错误 504 但不是在本地

Getting error 504 in test server but not locally

我一直在尝试解决 Java Web 项目中一个非常烦人的问题。我们在亚马逊服务器上使用 Spring (3.1.4) 和 webflow (2.3.1),运行 在 Wildfly 11.0 上。简而言之,远程服务器正在为本地环境没有的任务提供 504 - 超时错误。

一个特定的页面导出一个 .xls 报告,该报告在内部做大量咨询数据库和其他应用程序 REST API 的工作。此功能位于 ManagedBean 中,如下所示:

@org.springframework.stereotype.Component
@Scope(value = "request")
public class ReportMB {
   ...
   public void export(){
    try{
       // code goes here
       // generates HttpServletResponse containing the report file
    } catch (...) {...}
}

即使我选择了太多要包含的数据,此报告也能在我的开发机器中成功生成,尽管它需要几分钟才能完成。当它在远程服务器上运行时,使用相同的 Wildfly 版本和项目部署,我们得到 504 - Timeout with far less data in under 100 seconds.

我已经检查了日志,甚至调试了进程(本地),两种环境(本地和远程)都没有抛出任何异常。您是否知道为什么本地服务器一直等到函数完成并且文件准备就绪,而远程服务器却没有,或者至少您知道如何增加此请求的 Wildfly/Spring 超时容忍度? (我见过许多更改 部署超时 的示例,但与 请求超时 无关)

提前致谢。

504 将由负载均衡器而非应用服务器创建。增加负载均衡器的超时