在Tomcat7或Tomcat8中,限制请求超时的最佳方法是什么?

kno*_*kio 6 tomcat tomcat7 tomcat8

目标很简单.限制请求占用Tomcat线程的时间.

我搜索并发现了几个"黑客",但我期待Tomcat可以提供类似PHP的设置set_time_limit.

Ank*_*ogi 0

您可以编辑tomcat config文件夹下的server.xml文件来设置连接超时值。

在server.xml中找到以下代码行

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

将connectionTimeout属性编辑为所需的值。该值需要以毫秒为单位给出。

这将为 http 连接设置连接超时值。如果您想对 https (SSL) 这样做,您也必须在server.xml中的以下代码行中设置该属性

原来的

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

修改的

<Connector port="8009" protocol="AJP/1.3" connectionTimeout="30000" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

参考的是tomcat文档

Tomcat 7 文档