HTTP协议的设计要求服务器在处理之前完全接收到请求。如果HTTP请求未完成,或者传输速率非常低,则服务器将保持其资源占用等待剩余的数据。如果服务器占用的资源太多,则会造成拒绝服务。
修改Tomcat 配置文件 server.xml 中的 <Connector … /> 配置中,设置connectiontimeout值,默认为20000ms,修改为8000ms;
<Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="100" minSpareThreads="50" maxSpareThreads="100" minProcessors="50" maxProcessors="100" enableLookups="false" connectionTimeout="8000" acceptCount="100" redirectPort="8443" URIEncoding="UTF-8"/>