#fastcgi.pl
#!/usr/bin/perl
use strict;
use FCGI;
my $socket = FCGI::OpenSocket(":2005", 5);
my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV, $socket);
my $counter =0;
while ($request->Accept() >= 0) {
print "Content-Type: text/plain\r\n\r\n";
print $ENV{"REQUEST_METHOD"}." ".$ENV{"REQUEST_URI"};
if ((my $param = $ENV{"QUERY_STRING"}) ne "") {
print "?".$param;
}
print "Counting".$counter."\n";
print " ".$ENV{"SERVER_PROTOCOL"};
$counter=$counter+1;
}
FCGI::CloseSocket($socket);
# 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
# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 8000
# 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/local/bin/perl:pl
#CGIhandler = /usr/local/bin/php-cgi:php
#CGIhandler = /usr/local/bin/python:py
#CGIhandler = /usr/local/bin/ruby:rb
#CGIhandler = /usr/local/bin/ssi-cgi:shtml
#CGIextension = cgi
#
#FastCGIserver {
# FastCGIid = PHP5
# ConnectTo = 127.0.0.1:2005
# Extension = php
#}
FastCGIserver {
FastCGIid = QFastCGI
ConnectTo = 192.168.2.12:2005
Extension = f1
}
FastCGIserver {
FastCGIid = QFastCGI2
ConnectTo = 192.168.2.12:2006
Extension = f2
}
# 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|slimstat)($|/) Return
# Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
# Match .*\?(.*) Rewrite /index.php?$1
# Match .* Rewrite /index.php
#}
UrlToolkit {
ToolkitID = app_toolkit
RequestURI exists Return
Match .f1 UseFastCGI QFastCGI
Match .f2 UseFastCGI QFastCGI2
}
# 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 = 123.45.6.78 #127.0.0.1
WebsiteRoot = /usr/local/www/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
#ErrorHandler = 404:/error.cgi
# 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
#}
VirtualHost {
Hostname =192.168.2.11
WebsiteRoot = /usr/local/www/hiawatha
AccessLogfile = /var/log/app/access.log
ErrorLogfile = /var/log/app/error.log
TimeForCGI = 5
UseToolkit = app_toolkit
}
VirtualHost {
Hostname = 123.45.6.78
WebsiteRoot = /usr/local/www/hiawatha
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
TimeForCGI = 5
UseToolkit = app_toolkit
UseFastCGI = QFastCGI
}
# DIRECTORY SETTINGS
# You can specify some settings per directory.
#
#Directory {
# Path = /home/baduser
# ExecuteCGI = no
# UploadSpeed = 10,2
#}