【发布时间】:2016-03-28 20:04:23
【问题描述】:
我有一个 J2EE 应用程序,它有一个允许上传文件的 REST 端点。该应用程序部署在 linux 服务器中的 jboss 上。
当我们服务器中的文件小于 4 mb 时,一切都很好,但是当我上传一个大文件时,我总是以:
org.apache.http.NoHttpResponseException: The target server failed to respond
当我在本地进行测试时(REST 客户端调用在我的机器上运行的本地服务器),一切都运行良好。我什至可以上传高达 10mb+,没有遇到任何异常。但是当我通过 REST 客户端访问 linux 服务器并且文件大于 4mb 时,我会得到 NoHttpResponseException。我尝试通过 curl 命令在 linux 服务器本身内调用上传端点,并且它正在工作。
所以,我猜这不是我的代码或 jboss 设置中的特定内容,而是 linux 服务器上的问题/配置(可能是服务器超时设置?)?谁能指出我正确的方向?
感谢所有帮助。如果您需要更多信息,请告诉我。谢谢!
【问题讨论】:
-
您是否设置了 Connection: keep-alive 标头并设置了超时时间?
-
当您说您使用 curl 在 Linux 服务器中调用了上传端点时,是否附加了超过 4MB 的有效负载(
POST数据)?或者,检查端点是否通过 HTTP 响应只是一个简单的 curl? -
能否提供初始化http客户端的代码?因为默认客户端设置了默认超时,当它们没有被更改时,超时后的连接被标记为陈旧并被清理
-
可能上传文件大小有限试试
在 web.xml 中5120000 5120000大小>
标签: linux jboss server connection-timeout