Lighttpd和CGI超时问题

问题描述

最近从debian 8更新到了debian 10,这意味着Lighttpd已从1.4.35升级到1.4.53,但是自升级以来,我一直在数据库服务器上看到指向原始客户端的错误可以到达的。

我们的数据库服务器运行Progress Openedge,我们使用Progress的名为“ Webspeed”的Messenger服务。

我已经在线检查并在日志中找到有问题的错误的引用,但这与IIS 4升级到较新版本有关,其中较新版本的CGI超时时间较短。

我们将mod_cgi与lighttpd一起使用,因为这是唯一可行的方法在这种情况下不能使用FastCGI)。

升级之前,我的lighttpd配置工作100%,升级后,配置是相同的,但是一直抛出这些错误

Webspeed日志文件中的错误是:https://knowledgebase.progress.com/articles/Article/P152

Lighttpd配置:

server.modules = (
        "mod_access","mod_accesslog","mod_alias","mod_compress","mod_expire","mod_redirect","mod_setenv",)

server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80

server.document-root = "/var/www"
accesslog.filename   = "/var/log/lighttpd/access.log"

# Keep-Alive stuff
# Was at 32 and 3
server.max-keep-alive-requests = 0
server.max-keep-alive-idle     = 3


index-file.names            = ( "index.PHP","index.html","index.lighttpd.html" )
url.access-deny             = ( "~",".inc" )
static-file.exclude-extensions = ( ".PHP",".pl",".fcgi" )

include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

include "myconf.conf"

myconf.conf只是一般性的东西,加上一些假定的性能调整东西

server.modules += ( "mod_status" )

server.max-fds       = 2048                #normally 1024? 
server.event-handler = "linux-sysepoll"    #normally level-triggered
server.use-noatime = "enable"              #normally disabled

$HTTP["remoteip"] == "nnn.nnn.nnn.0/24" {
  status.status-url = "/server-status"
}

$HTTP["host"] == "www.example.com.au" {
  server.document-root = "/var/www"
}

alias.url += ("/pse" => "/var/www/static/" )
alias.url += ("/assets" => "/var/www/assets/dist")

如前所述,与运行Debian 8时相比,配置没有任何改变。

在线查看,关于lighttpd config,我能找到的最好的是server.max-read-idle和server.max-write-idle,但是文档并没有真正详细介绍它们。

我可以对数据库服务器本身进行一些微调,但这只是将重试次数认值10更改为0,这样,如果客户端消失,Webspeed Messenger便不会打扰10次。在放弃之前,可能还是应该这样做,但也希望进行一次lighttpd修复。

解决方法

已在IRC上解决:配置空闲超时选项

https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ConfigurationOptions