Jetty 服务器:保持 HTTP 连接超时

Jetty Server : keep alive timeout for HTTP connection

所以HTTP.1及以上版本支持持久连接。

现在,我们正在创建一个应该是无状态的 rest 应用程序。我们限制了一次连接的数量。

但是如果我浏览 HTTP 1.0 文档,这种方法似乎有问题。

它表示除非客户端要求关闭,否则服务器将保持连接打开。

那么,我的问题是如果客户端没有关闭怎么办?如果连接始终处于活动状态,它可能会给我拒绝服务错误。

jetty 的默认超时是多少?我该如何配置它?我找不到合适的文档。

HttpConfiguration 有配置设置setIdleTimeout(long ms)

https://www.eclipse.org/jetty/javadoc/jetty-9/org/eclipse/jetty/server/HttpConfiguration.html#setIdleTimeout(long)

控制请求之间的空闲超时。

HttpConfiguration 对象是 ServerConnector 的一部分,它控制侦听端口并接受连接。

空闲超时在代码中默认为 -1(无限)。

但在 jetty-home 中是 30,000 毫秒(和较旧的 jetty-distribution)。

如果使用独立码头,请使用 jetty-start 属性 jetty.http.idleTimeout 为您的特定码头基地配置它 instance/configuration。

注意:如果您使用 Servlet Async 功能,则在容器中配置的空闲超时将被 Servlet Async 超时配置覆盖。 (如果你使用 Servlet Async,那么总是指定一个有效的超时,永远不要禁用它,或者将它设置为无限,或者将它设置为非常大的值)