Java 谷歌云平台负载均衡器中止大文件上传请求

Java 谷歌云平台负载均衡器中止大文件上传请求,java,apache,tomcat,file-upload,google-cloud-platform,Java,Apache,Tomcat,File Upload,Google Cloud Platform,当底层后端应用程序(使用apache fileupload库的tomcat)认为上载(多部分post)文件太大并以413 http状态响应时,原始请求将在负载平衡器上以“中止的\u请求\u由于\u后端\u早期\u响应”状态中止。这意味着用户将看到一些内置的系统错误页面,而不是应用程序错误页面 应如何配置系统以通过负载平衡器向最终用户提供应用程序错误响应 其他一些细节: 例如,当限制为2MB,而上载的文件为~5MB时,一切正常,但当文件大于6MB时,会出现所述行为(这取决于用户的连接质量) to

当底层后端应用程序(使用apache fileupload库的tomcat)认为上载(多部分post)文件太大并以413 http状态响应时,原始请求将在负载平衡器上以“中止的\u请求\u由于\u后端\u早期\u响应”状态中止。这意味着用户将看到一些内置的系统错误页面,而不是应用程序错误页面

应如何配置系统以通过负载平衡器向最终用户提供应用程序错误响应

其他一些细节:

  • 例如,当限制为2MB,而上载的文件为~5MB时,一切正常,但当文件大于6MB时,会出现所述行为(这取决于用户的连接质量)

  • tomcat的/servlet的maxPostSize maxFileSize。。。不做任何改变

  • 返回200而不是413不会产生任何更改

我假设(对于那些大的~6MB文件)在文件本身完全上传之前返回了响应。但这是需要的,因为我不想处理,比如说,一些千兆字节的大文件到文件系统中,然后返回413响应-我想在任何处理之前剪切它们,而不是检测它们的大小


那么如何在GCP(负载平衡器-apache-tomcat)环境中实现这一点呢?

我也有同样的经验。2个问题:a)这是L4还是L7负载平衡器?b)你有没有想出解决办法?是的,我正在用javascript验证客户端上的文件大小:)