Forum

how to set longer timeout

Naama
5 May 2011, 19:29
Hiawatha version: Hiawatha v7.4.1, cache, IPv6, URL toolkit
Operating System: linux

I get a CGI timeout error message when executing a long action connection on server side.
1) When time out occur is the request being re-sent?
2) How can I enlarge time out period?
I have tried changing "SessionTimeout" and TimeForCGI, and it didn't help.

THANK YOU
Naama
Here's my hiawatha.conf file:
=============================
# Hiawatha main configuration file
#


# GENERAL SETTINGS
#
#ServerId = www-data
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log
ExploitLogfile = /var/log/hiawatha/exploit.log

# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
# Interface = 127.0.0.1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
}
#
#Binding {
# Port = 443
# Interface = ::1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
# SSLcertFile = hiawatha.pem
#}


# BANNING SETTINGS
# Deny service to clients who misbehave.
#
#BanOnGarbage = 300
#BanOnMaxPerIP = 60
#BanOnMaxReqSize = 300
#KickOnBan = yes
#RebanDuringBan = yes


# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications. Use the 'php-fcgi'
# tool to start PHP as a FastCGI daemon.
#
#CGIhandler = /usr/bin/perl:pl
#CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
CGIhandler = /data/bin/ssi-cgi:html
#CGIextension = cgi
#

FastCGIserver {
FastCGIid = CFCGI
ConnectTo = 127.0.0.1:2005
Extension = cgi
SessionTimeout = 9999
}


# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework, which
# can be downloaded from http://www.hiawatha-webserver.org/banshee
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|images|js)/ Return
# Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
# Match .*\?(.*) Rewrite /index.php?$1
# Match .* Rewrite /index.php
#}



# DEFAULT WEBSITE
# It is wise to use your IP address as the hostname of the default website
# and give it a blank webpage. By doing so, automated webscanners won't find
# your possible vulnerable website.
#
Hostname = 127.0.0.1
#WebsiteRoot = /data/usr/var/www/hiawatha
WebsiteRoot = /data/sw/bin/web_lnk
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
#ErrorHandler = 404:/error.cgi
ServerId = 502:500
UseFastCGI = CFCGI
ExecuteCGI = yes

# VIRTUAL HOSTS
# Use a VirtualHost section to declare the websites you want to host.
#
#VirtualHost {
# Hostname = www.my-domain.com
# WebsiteRoot = /var/www/my-domain/public
# StartFile = index.php
# AccessLogfile = /var/www/my-domain/log/access.log
# ErrorLogfile = /var/www/my-domain/log/error.log
# TimeForCGI = 5
# UseFastCGI = PHP5
# UseToolkit = banshee
#}


# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
Directory {
Path = /data/sw/bin/web_lnk
# ExecuteCGI = yes
UploadSpeed = 8000,8
# TimeForCGI = 10
}
Hugo Leisink
5 May 2011, 19:51
1) When a timeout for a CGI script occurs, the CGI is aborted, the issue is logged and a 500 error is sent to the browser.
2) Increasing the run time for a CGI is done via the TimeForCGI setting. This is a (virtual) host specific setting. Don't forget to restart the server after changing this setting.
Naama
7 May 2011, 09:00
Hi Hugo
The timeout error isn't shown any more, however I get a "error while executing CGI" and the cgi process is killed.
What does the error mean? How can I debug such case?

Thank you
Hugo Leisink
7 May 2011, 12:25
It means that there's something wrong with your CGI application. What do you see when you run it via the command line? Does the CGI application print the CGI / HTTP headers correctly?
Naama
7 May 2011, 17:20
It doesn't happen when I start cgi process, but when I perform certin action on my webpage.
I know something is wrong in my code, I just need help trying to understand it,
It looks like there are 2 approaches to another process in my application, and I thought maybe the timeout caused re-requesting.
Is there a way of getting more information on the cause of the crash?
Hugo Leisink
7 May 2011, 20:45
What programming language are you using? Do you use some sort of CGI or FastCGI library?
Naama
8 May 2011, 06:22
I'm using fastCGI
language on server side- C
Hugo Leisink
8 May 2011, 13:27
If you are using any kind of FastCGI library, you should ask there for debugging advice. Otherwise, I guess you're on your own...
This topic has been closed.