nscgi -- CGI Interface
$Header: /cvsroot/aolserver/aolserver/nscgi/nscgi.html,v 1.1 2000/10/04 22:27:23 kriston Exp $
Theory of Operation
Known Issues
Sample Configuration
Theory of Operation
The nscgi module provides the traditional Common Gateway Interface (CGI)
 that web servers use to run external applications.  The nscgi module works
 well for small- to  medium-sized applications.  For large applications,
 it should not be used due to the severe load that running external applications
 will place on a system.  More modern approaches use ADP, Tcl, and C libraries
 instead.
Known Issues
The Common Gateway Interface is inefficient, wasteful, and slow -- and nscgi
 is no exception.  AOLserver provides a better solution in the form of a
 robust, in-process scripting language with rich Tcl and C API's.  The nscgi
 module should only be used for legacy applications for which no redesign
 is possible.
Sample Configuration
#
# CGI interface -- nscgi
#
# Note: CGI is *vastly* inferior to ADP's or even built-in Tcl libraries.
#
ns_section "ns/server/${servername}/module/nscgi"
ns_param   debug           false
ns_param   gethostbyaddr   false     ;# Whether to do reverse DNS lookups
ns_param   limit           0         ;# Max number of concurrent CGI processes
ns_param   maxoutput       10240     ;# Max bytes allowed from external process
ns_param   buffersize      8192      ;# Buffer output from external process
ns_param   map \
    "GET /cgi /usr/local/cgi"        ;# Where your CGI executables live (GET)
ns_param   map \
    "POST /cgi /usr/local/cgi"       ;# Where your CGI executables live (POST)
# CGI environment variable handling -- See admin guide
ns_param   systemenvironment false   ;# Copies environment from nsd start shell