High Availability Configuration of ActiveVOS Central with Apache Load Balancer



Similar documents
C:\www\apache2214\conf\httpd.conf Freitag, 16. Dezember :50

Apache 2.2 on Windows: A Primer

How to setup HTTP & HTTPS Load balancer for Mediator

Eth0 IP Address with Default Gateway Settings:

Web Server: Principles and Configuration Web Programming 8) Web Server

TODAY web servers become more and more

Anexo II Ejemplos de ficheros de configuración de Apache Web Server

White Paper DEPLOYING WDK APPLICATIONS ON WEBLOGIC AND APACHE WEBSERVER CLUSTER CONFIGURED FOR HIGH AVAILABILITY AND LOAD BALANCE

Installing Apache Software

Installing and Configuring Apache

Created by : Ashish Shah, J.M. PATEL COLLEGE UNIT-5 CHAP-1 CONFIGURING WEB SERVER

The course will be run on a Linux platform, but it is suitable for all UNIX based deployments.

Setting Up B2B Data Exchange for High Availability in an Active/Active Configuration

Apache (2) als Reverse Proxy für Outlook Web Access

ViMP 3.0. SSL Configuration in Apache 2.2. Author: ViMP GmbH

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on Oracle WebLogic Server

Greenstone Documentation

Implementing HTTPS in CONTENTdm 6 September 5, 2012

Installing an SSL certificate on the InfoVaultz Cloud Appliance

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.2 Web Applications Deployed on BEA WebLogic Server 9.2

WEB2CS INSTALLATION GUIDE

An Esri White Paper January 2010 Performance and Throughput Tips for ArcGIS Server Cached Map Services and the Apache HTTP Server

ActiveVOS Clustering with JBoss

Installing and Configuring Apache

APACHE. An HTTP Server. Reference Manual

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

Installing Apache as an HTTP Proxy to the local port of the Secure Agent s Process Server

EQUELLA. Clustering Configuration Guide. Version 6.0

Apache Usage. Apache is used to serve static and dynamic content

Configuring MassTransit for the Web Using Apache on Mac OS 10.2 and 10.3

APACHE WEB SERVER. Andri Mirzal, PhD N

Spectrum Technology Platform Version Tutorial: Load Balancing Spectrum Spatial Services. Contents:

Technical specification

Comparison table for an idea on features and differences between most famous statistics tools (AWStats, Analog, Webalizer,...).

Setting up an Apache Web Server for Greenstone 2 Walkthrough

Installing Rails 2.3 Under Windows XP and Apache 2.2

SITEMINDER SSO FOR EMC DOCUMENTUM REST

Example Apache Server Installation for Centricity Electronic Medical Record browser & mobile access

Maximizing Performance and Scalability with Magento Enterprise Edition

Maximizing Performance and Scalability with Magento Enterprise Edition

EQUELLA. Clustering Configuration Guide. Version 6.2

PROXY SETUP WITH IIS USING URL REWRITE, APPLICATION REQUEST ROUTING AND WEB FARM FRAMEWORK OR APACHE HTTP SERVER FOR EMC DOCUMENTUM EROOM

HP ALM. Software Version: External Authentication Configuration Guide

Redatam+SP REtrieval of DATa for Small Areas by Microcomputer

Real Vision Software, Inc.

Configuring Remote HANA System Connection for SAP Cloud for Analytics via Apache HTTP Server as Reverse Proxy

Configuring Apache HTTP Server With Pramati

WebBridge LR Integration Guide

SecuritySpy Setting Up SecuritySpy Over SSL

Orchestrating Document and Media Management using CMIS

Getting the software The Apache webserver can be downloaded free from the Apache website :

Apache Web Server Complete Guide Dedoimedo

CERTIFICATE-BASED SINGLE SIGN-ON FOR EMC MY DOCUMENTUM FOR MICROSOFT OUTLOOK USING CA SITEMINDER

MIGS Payment Client Installation Guide. EGate User Manual

DEPLOYMENT GUIDE Version 1.1. Deploying F5 with Oracle Application Server 10g

User s guide. APACHE SSL Linux. Using non-qualified certificates with APACHE SSL Linux. version 1.3 UNIZETO TECHNOLOGIES S.A.

Apache HTTP Server. Implementation Guide. (Version 5.7) Copyright 2013 Deepnet Security Limited

Talk Internet User Guides Controlgate Administrative User Guide

Understanding Server Configuration Parameters and Their Effect on Server Statistics

CentraSite SSO with Trusted Reverse Proxy

1Intro. Apache is an open source HTTP web server for Unix, Apache

Implementing a Weblogic Architecture with High Availability

Oracle HTTP Server powered by Apache

Running Nginx as Reverse Proxy server

Configuring Single Sign-On for Documentum Applications with RSA Access Manager Product Suite. Abstract

Step-by-Step guide to setup an IBM WebSphere Portal and IBM Web Content Manager V8.5 Cluster From Zero to Hero (Part 2.)


Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

ActiveVOS Performance Tuning

Apache Performance Tuning

Siteminder Integration Guide

Enterprise Knowledge Platform

XCP APP FAILOVER CONFIGURATION FOR WEBLOGIC CLUSTER AND APACHE WEBSERVER

EventTracker: Configuring DLA Extension for AWStats report AWStats Reports

Instalación y configuración del servidor web Apache

EventTracker: Configuring DLA Extension for AWStats Report AWStats Reports

How To Set Up A Virtual Host In Apa On A Linux Box On A Windows Xp Or Ipa On An Ubuntu Box On An Ipa (Windows) Or Ipo (Windows Xp) On A Ubora Box On Your Ubora

Oracle WebLogic Thread Pool Tuning

Rails Application Deployment. July Philly on Rails

Securing the OpenAdmin Tool for Informix web server with HTTPS

CC ICT-SUD. Setting up and integrate Apache, MySQL and PHP on a Linux system

JOSSO 2.4. Internet Information Server (IIS) Tutorial

Installing SQL-Ledger on Windows

Manual Password Depot Server 8

esync - Receiving data over HTTPS

Cookbook Secure Failover for Tomcat Application Server Use Apache, mod_proxy, mod_security, mod_ssl to offer secure application delivery

Automatic updates for Websense data endpoints

Apache Server Implementation Guide

Basic Apache Web Services

How-to-Guide: Reverse Proxy and Load Balancing for SAP Mobile Platform 3.X

McAfee epolicy Orchestrator: Creating an Apache HTTP Repository

WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide

Drupal CMS for marketing sites

Web Server Configuration Guide

xcp Application Deployment On Tomcat Cluster

Magento Enterprise Edition White Paper!!"#$%&'()*&(+"'#(,-).#/."'(0%-(1/2$(,"-0%-3)*."("4%33"-."!

1.0 DHCPD.CONF. option domain-name-servers ; option domain-name "smuth-mru.org.zm"; option broadcast-address

Transcription:

High Availability Configuration of ActiveVOS Central with Apache Load Balancer Technical Note Version 1.1 10 December 2011 2011 Active Endpoints Inc. ActiveVOS is a trademark of Active Endpoints, Inc. All other company and product names are the property of their respective owners. 2011 0

Content Overview... 3 Problem Description... 3 A Fault Tolerant Configuration... 4 URLs and this Configuration... 5 Configuring the Environment... 6 Troubleshooting... 7 Appendix A - Apache httpd.conf Sample Configuration... 8 About Active Endpoints...18 Copyright 2011, Active Endpoints, Inc. Page 2 of 18

Overview This technical note describes how to configure ActiveVOS Central with Apache Load Balancers to ensure high availability and resilience of user sessions when nodes are taken out of a cluster. Problem Description ActiveVOS Central s default installation configuration in a cluster is depicted here. When clustered and load balanced in this configuration user sessions need to be sticky. This has the effect of pinning ActiveVOS Central usersessions to a specific backend ActiveVOS server. As configured, the Apache Load Balancer matches the location /activevos-central (or //activevos-central as it sometimes appears) and searches the HTTP response for the JSESSIONID_AVC cookie that ActiveVOS Central generates. This cookie is then used to pin a client to a sticky session. Copyright 2011, Active Endpoints, Inc. Page 3 of 18

This tight coupling makes fail-over not as graceful as it could be when a node is taken down. This document describes a configuration that avoids this situation and makes user-sessions more resilient when a node leaves a cluster. A Fault Tolerant Configuration The following depicts a configuration that provides the fault tolerance and session resiliency desired. In this configuration ActiveVOS Central connections to ActiveVOS server s human task and associated services are established via a load balancer. Though LB2 is depicted here as physical load balancer, there isn t a requirement for one to be deployed. Rather think of LB2 as a logical device that can be implemented by establishing connections from ActiveVOS Central to ActiveVOS backend services via the LB1 load balancer. As such LB1 can be made to load balance both the connections to ActiveVOS Central and also those to ActiveVOS backend services. Copyright 2011, Active Endpoints, Inc. Page 4 of 18

URLs and this Configuration ActiveVOS and the installation utility make reference to various URLs. These are described here. AeTaskService Service URL During installation you are provided with an option to configure the ActiveVOS Central AeTaskService service URL as shown here. The server and the port name have significance with respect to the configuration sought. These need to be mapped to the (logical) LB2 load balancer so that it may redirect requests by ActiveVOS Central to this URL to the AeTaskService and other supporting ActiveVOS services. ActiveVOS URN Mappings The default ActiveVOS installation predefines some URN mappings. These can be found at ActiveVOS Admin Console > Admin > URN. Two in particular, namely ae:internal-reporting (reporting) and ae:task-inbox (the task list), are set by default to locahost:[port]. These URN mapping need to be changed to point to the (logical) LB2 load balancer s host name and port. Copyright 2011, Active Endpoints, Inc. Page 5 of 18

Apache Proxy Server Appendix A provides a sample proxy configuration of the Apache httpd.conf configuration file. The following excerpt load balances a set of Oracle WebLogic managed servers (WL1 and WL2). The following specifies cluster members being balanced by this Apache configuration. It also specifies the session cookie names for the requests between ActiveVOS server and ActiveVOS Central. These session cookies are required for all interactions. ProxyPass / balancer://mycluster/ stickysession=jsessionid jsessionid JSESSIONID_AVC JSESSIONID_AVOS nofailover=on <Proxy balancer://mycluster> BalancerMember http://wl1:8080 BalancerMember http://wl2:8080 </Proxy> User Browsers Browser need to use the LB1 load balancer host and port. E.g. http://lb1:80/activevos and http://lb1:80/activevos-central. Configuring the Environment These instructions assume Oracle WebLogic application server 1) Set up two physical and clustered nodes 2) Make sure the servers are clustered and there is single Oracle WebLogic Admin server running 3) Set up an Apache Load Balancer to manage the load for both of these nodes. You can find an example of a configuration in Appendix A. 4) Start the Oracle WebLogic managed servers in both the nodes. Make sure both start up without any errors and are in running state. 5) Install ActiveVOS in the cluster. When providing the AeTaskServiceURL (please refer to the previous section/screen for an explanation), specify the host and the port of the load balancer but not those of either Oracle WebLogic managed servers. When completed you will have installed ActiveVOS Server and the ActiveVOS Central to the cluster. 6) Bring up the deployments, located in the server where the Oracle Weblogic Admin Server is running. It is located at weblogic console > Copyright 2011, Active Endpoints, Inc. Page 6 of 18

Domain Structure > deployments. This section would contain any application deployed to the server. Make sure the deployments are in Active state. 7) Login to the ActiveVOS Console from the browser via the load balancer URL (http://lb1:80/activevos). You should be able to login. 8) Login to ActiveVOS Central via the load balancer URL from the browser (http://lb1:80/activevos-central). You should be able to login. Troubleshooting If you get the following errors you will need to troubleshoot your configuration: 1) Unable to get past login. The authentication prompt keeps coming up. 2) 401 errors reported in the http-access logs. You can troubleshoot this by routing requests through an HTTP monitor like Charles or TCP/Mon to see if the session cookie(s) are actually being passed for all the interactions as this indicates like the session id may not be passed all the way through from the browser accessing the ActiveVOS Central to the ActiveVOS server. Copyright 2011, Active Endpoints, Inc. Page 7 of 18

Appendix A - Apache httpd.conf Sample Configuration Important: To utilize the following configuration sample, Apache 1.3 requires that the mod_proxy module be enabled, Apache 2 requires the enabling of the proxy, proxy_balancer, and proxy_http modules. Note that session stickiness is configured in the ProxyPass section at the end of the configuration file. The session information must be maintained in between the communication between the ActiveVOS Central and the Server. As long as this is maintained, the configuration below should work flawlessly. Important sections highlighted below. In this example, WL1 and WL2 denote Oracle WebLogic managed servers. Make sure that you substitute these with your own managed servers host and the port, where ActiveVOS is installed. This is the main Apache HTTP server configuration file. It contains the configuration directives that give the server its instructions. See <URL:http://httpd.apache.org/docs/2.2/> for detailed information. In particular, see <URL:http://httpd.apache.org/docs/2.2/mod/directives.html> for a discussion of each configuration directive. Do NOT simply read the instructions in here without understanding what they do. They're here only as hints or reminders. If you are unsure consult the online docs. You have been warned. Configuration and logfile names: If the filenames you specify for many of the server's control files begin with "/" (or "drive:/" for Win32), the server will use that explicit path. If the filenames do *not* begin with "/", the value of ServerRoot is prepended -- so "logs/foo.log" with ServerRoot set to "C:/Apache" will be interpreted by the server as "C:/Apache/logs/foo.log". NOTE: Where filenames are specified, you must use forward slashes instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). If a drive letter is omitted, the drive on which Apache.exe is located will be used by default. It is recommended that you always supply an explicit drive letter in absolute paths, however, to avoid ServerRoot: The top of the directory tree under which the server's configuration, error, and log files are kept. Do not add a slash at the end of the directory path. If you point Copyright 2011, Active Endpoints, Inc. Page 8 of 18

ServerRoot at a non-local disk, be sure to point the LockFile directive at a local disk. If you wish to share the same ServerRoot for multiple httpd daemons, you will need to change at least LockFile and PidFile. ServerRoot "C:/Apache" Listen: Allows you to bind Apache to specific IP addresses and/or ports, instead of the default. See also the <VirtualHost> directive. Change this to Listen on specific IP addresses as shown below to prevent Apache from glomming onto all bound IP addresses (0.0.0.0) Listen 12.34.56.78:80 Listen 80 Dynamic Shared Object (DSO) Support To be able to use the functionality of a module which was built as a DSO you have to place corresponding `LoadModule' lines at this location so the directives contained in it are actually available _before_ they are used. Statically compiled modules (those listed by `httpd -l') do not need to be loaded here. Example: LoadModule foo_module modules/mod_foo.so Make sure you have the modules uncommented in your httpd config file, similar to what is show uncommented below. LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbd_module modules/mod_authn_dbd.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cache_module modules/mod_cache.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so LoadModule charset_lite_module modules/mod_charset_lite.so LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so LoadModule dbd_module modules/mod_dbd.so Copyright 2011, Active Endpoints, Inc. Page 9 of 18

LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule file_cache_module modules/mod_file_cache.so LoadModule filter_module modules/mod_filter.so LoadModule headers_module modules/mod_headers.so LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so LoadModule ldap_module modules/mod_ldap.so LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so LoadModule log_forensic_module modules/mod_log_forensic.so LoadModule mem_cache_module modules/mod_mem_cache.so LoadModule mime_module modules/mod_mime.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule speling_module modules/mod_speling.so LoadModule ssl_module modules/mod_ssl.so LoadModule status_module modules/mod_status.so LoadModule substitute_module modules/mod_substitute.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule version_module modules/mod_version.so LoadModule vhost_alias_module modules/mod_vhost_alias.so <IfModule!mpm_netware_module> <IfModule!mpm_winnt_module> If you wish httpd to run as a different user or group, you must run httpd as root initially and it will switch. User/Group: The name (or number) of the user/group to run httpd as. It is usually good practice to create a dedicated user and group for running httpd, as with most system services. User daemon Group daemon </IfModule> Copyright 2011, Active Endpoints, Inc. Page 10 of 18

</IfModule> 'Main' server configuration The directives in this section set up the values used by the 'main' server, which responds to any requests that aren't handled by a <VirtualHost> definition. These values also provide defaults for any <VirtualHost> containers you may define later in the file. All of these directives may appear inside <VirtualHost> containers, in which case these default settings will be overridden for the virtual host being defined. ServerAdmin: Your address, where problems with the server should be e-mailed. This address appears on some server-generated pages, such as error documents. e.g. admin@your-domain.com ServerAdmin admin@aedomain.active-endpoints.local ServerName gives the name and port that the server uses to identify itself. This can often be determined automatically, but we recommend you specify it explicitly to prevent problems during startup. If your host doesn't have a registered DNS name, enter its IP address here. ServerName WL2.aedomain.active-endpoints.local:80 DocumentRoot: The directory out of which you will serve your documents. By default, all requests are taken from this directory, but symbolic links and aliases may be used to point to other locations. DocumentRoot "C:/Apache/htdocs" Each directory to which Apache has access can be configured with respect to which services and features are allowed and/or disabled in that directory (and its subdirectories). First, we configure the "default" to be a very restrictive set of features. <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> Note that from this point forward you must specifically allow particular features to be enabled - so if something's not working as you might expect, make sure that you have specifically enabled it below. Copyright 2011, Active Endpoints, Inc. Page 11 of 18

This should be changed to whatever you set DocumentRoot to. <Directory "C:/Apache/htdocs"> Possible values for the Options directive are "None", "All", or any combination of: Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews Note that "MultiViews" must be named *explicitly* --- "Options All" doesn't give it to you. The Options directive is both complicated and important. Please see http://httpd.apache.org/docs/2.2/mod/core.htmloptions for more information. Options Indexes FollowSymLinks AllowOverride controls what directives may be placed in.htaccess files. It can be "All", "None", or any combination of the keywords: Options FileInfo AuthConfig Limit AllowOverride None Controls who can get stuff from this server. Order allow,deny Allow from all </Directory> DirectoryIndex: sets the file that Apache will serve if a directory is requested. <IfModule dir_module> DirectoryIndex index.html </IfModule> The following lines prevent.htaccess and.htpasswd files from being viewed by Web clients. <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> ErrorLog: The location of the error log file. If you do not specify an ErrorLog directive within a <VirtualHost> container, error messages relating to that virtual host will be Copyright 2011, Active Endpoints, Inc. Page 12 of 18

logged here. If you *do* define an error logfile for a <VirtualHost> container, that host's errors will be logged there and not here. ErrorLog "logs/error.log" LogLevel: Control the number of messages logged to the error_log. Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn <IfModule log_config_module> The following directives define some format nicknames for use with a CustomLog directive (see below). LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> The location and format of the access logfile (Common Logfile Format). If you do not define any access logfiles within a <VirtualHost> container, they will be logged here. Contrariwise, if you *do* define per-<virtualhost> access logfiles, transactions will be logged therein and *not* in this file. CustomLog "logs/access.log" common If you prefer a logfile with access, agent, and referer information (Combined Logfile Format) you can use the following directive. CustomLog "logs/access.log" combined </IfModule> <IfModule alias_module> Redirect: Allows you to tell clients about documents that used to exist in your server's namespace, but do not anymore. The client will make a new request for the document at its new location. Example: Redirect permanent /foo http://wl2.aedomain.active-endpoints.local/bar Alias: Maps web paths into filesystem paths and is used to access content that does not live under the DocumentRoot. Example: Alias /webpath /full/filesystem/path If you include a trailing / on /webpath then the server will Copyright 2011, Active Endpoints, Inc. Page 13 of 18

require it to be present in the URL. You will also likely need to provide a <Directory> section to allow access to the filesystem path. ScriptAlias: This controls which directories contain server scripts. ScriptAliases are essentially the same as Aliases, except that documents in the target directory are treated as applications and run by the server when requested rather than as documents sent to the client. The same rules about trailing "/" apply to ScriptAlias directives as to Alias. ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/" </IfModule> <IfModule cgid_module> ScriptSock: On threaded servers, designate the path to the UNIX socket used to communicate with the CGI daemon of mod_cgid. Scriptsock logs/cgisock </IfModule> "C:/Apache/cgi-bin" should be changed to whatever your ScriptAliased CGI directory exists, if you have that configured. <Directory "C:/Apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> Apache parses all CGI scripts for the shebang line by default. This comment line, the first line of the script, consists of the symbols pound () and exclamation (!) followed by the path of the program that can execute this specific script. For a perl script, with perl.exe in the C:\Program Files\Perl directory, the shebang line should be:!c:/program files/perl/perl Note you _must_not_ indent the actual shebang line, and it must be the first line of the file. Of course, CGI processing must be enabled by the appropriate ScriptAlias or Options ExecCGI directives for the files or directory in question. However, Apache on Windows allows either the Unix behavior above, or can use the Registry to match files by extention. The command to execute a file of this type is retrieved from the registry by the same method as the Windows Explorer would use to handle double-clicking on a file. These script actions can be configured from the Windows Explorer View menu, 'Folder Options', and reviewing the 'File Types' tab. Clicking the Edit button allows you to modify the Actions, of which Apache 1.3 attempts to perform the 'Open' Action, and failing that it will try the shebang line. Copyright 2011, Active Endpoints, Inc. Page 14 of 18

This behavior is subject to change in Apache release 2.0. Each mechanism has it's own specific security weaknesses, from the means to run a program you didn't intend the website owner to invoke, and the best method is a matter of great debate. To enable the this Windows specific behavior (and therefore -disable- the equivalent Unix behavior), uncomment the following directive: ScriptInterpreterSource registry The directive above can be placed in individual <Directory> blocks or the.htaccess file, with either the 'registry' (Windows behavior) or 'script' (Unix behavior) option, and will override this server default option. DefaultType: the default MIME type the server will use for a document if it cannot otherwise determine one, such as from filename extensions. If your server contains mostly text or HTML documents, "text/plain" is a good value. If most of your content is binary, such as applications or images, you may want to use "application/octet-stream" instead to keep browsers from trying to display binary files as though they are text. DefaultType text/plain <IfModule mime_module> TypesConfig points to the file containing the list of mappings from filename extension to MIME-type. TypesConfig conf/mime.types AddType allows you to add to or override the MIME configuration file specified in TypesConfig for specific file types. AddType application/x-gzip.tgz AddEncoding allows you to have certain browsers uncompress information on the fly. Note: Not all browsers support this. AddEncoding x-compress.z AddEncoding x-gzip.gz.tgz If the AddEncoding directives above are commented-out, then you probably should define those extensions to indicate media types: AddType application/x-compress.z AddType application/x-gzip.gz.tgz AddHandler allows you to map certain file extensions to "handlers": actions unrelated to filetype. These can be either built into the server or added with the Action directive (see below) Copyright 2011, Active Endpoints, Inc. Page 15 of 18

To use CGI scripts outside of ScriptAliased directories: (You will also need to add "ExecCGI" to the "Options" directive.) AddHandler cgi-script.cgi For type maps (negotiated resources): AddHandler type-map var Filters allow you to process content before it is sent to the client. To parse.shtml files for server-side includes (SSI): (You will also need to add "Includes" to the "Options" directive.) AddType text/html.shtml AddOutputFilter INCLUDES.shtml </IfModule> The mod_mime_magic module allows the server to use various hints from the contents of the file itself to determine its type. The MIMEMagicFile directive tells the module where the hint definitions are located. MIMEMagicFile conf/magic Customizable error responses come in three flavors: 1) plain text 2) local redirects 3) external redirects Some examples: ErrorDocument 500 "The server made a boo boo." ErrorDocument 404 /missing.html ErrorDocument 404 "/cgi-bin/missing_handler.pl" ErrorDocument 402 http://wl2.aedomain.active-endpoints.local/subscription_info.html EnableMMAP and EnableSendfile: On systems that support it, memory-mapping or the sendfile syscall is used to deliver files. This usually improves server performance, but must be turned off when serving from networked-mounted filesystems or if support for these functions is otherwise broken on your system. EnableMMAP off EnableSendfile off Supplemental configuration The configuration files in the conf/extra/ directory can be included to add extra features or to modify the default configuration of the server, or you may simply copy their contents here and change as necessary. Server-pool management (MPM specific) Include conf/extra/httpd-mpm.conf Copyright 2011, Active Endpoints, Inc. Page 16 of 18

Multi-language error messages Include conf/extra/httpd-multilang-errordoc.conf Fancy directory listings Include conf/extra/httpd-autoindex.conf Language settings Include conf/extra/httpd-languages.conf User home directories Include conf/extra/httpd-userdir.conf Real-time info on requests and configuration Include conf/extra/httpd-info.conf Virtual hosts Include conf/extra/httpd-vhosts.conf Local access to the Apache HTTP Server Manual Include conf/extra/httpd-manual.conf Distributed authoring and versioning (WebDAV) Include conf/extra/httpd-dav.conf Various default settings Include conf/extra/httpd-default.conf Secure (SSL/TLS) connections Include conf/extra/httpd-ssl.conf Note: The following must must be present to support starting without SSL on platforms with no /dev/random equivalent but a statically compiled-in mod_ssl. <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> The following specifies cluster members being balanced by this Apache configuration. It also specifies the session cookie names for the requests between ActiveVOS server and ActiveVOS Central. These session cookies are required for all interactions. ProxyPass / balancer://mycluster/ stickysession=jsessionid jsessionid JSESSIONID_AVC JSESSIONID_AVOS nofailover=on <Proxy balancer://mycluster> BalancerMember http://wl1:8080 BalancerMember http://wl2:8080 </Proxy> Copyright 2011, Active Endpoints, Inc. Page 17 of 18

About Active Endpoints Active Endpoints (www.activevos.com) ActiveVOS is the leader in serviceoriented BPM software for process automation. ActiveVOS empowers project teams to create business process management (BPM) applications using services, making their businesses more agile and effective. ActiveVOS promotes mass adoption of SOA-enabled BPM applications by focusing on accelerating project delivery time with a complete, affordable and easy-to-use system. Active Endpoints is headquartered in Waltham, MA with development facilities in Shelton, CT. To find out how Active Endpoints can help your business, visit http://www.activevos.com, call +1 781 547 2900 and press 1 for Sales, or email us at info@activevos.com. Copyright 2011, Active Endpoints, Inc. Page 18 of 18