Configure the Apache HTTP Server

  1. Create a virtual host file for the Codar nodes. In the <codar_home>\Apache2.2\conf\extra directory (for Microsoft Windows) or the /etc/httpd/conf.d directory (for Linux), create a file named csa.conf that contains the following content:

    Listen 8443
    <VirtualHost _default_:8443>
    ServerName [APACHE_LOAD_BALANCER_HOSTNAME]
    ErrorLog /etc/httpd/logs/csa_error.log
    TransferLog /etc/httpd/logs/csa_access.log
    SSLEngine on
    SSLProtocol all TLSv1
    SSLCertificateFile /etc/httpd/conf/apache_csa.crt
    SSLCertificateKeyFile /etc/httpd/conf/apache_csa.key
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    RewriteEngine On
    RewriteCond %{THE_REQUEST} \ (.*)//+(.*)\ [NC]
    RewriteRule .* %1/%2 [R=301,L]
    Header add Set-Cookie "CSA_ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/"
    env=BALANCER_ROUTE_CHANGED
    <Proxy balancer://csacluster/>
    BalancerMember http://[CSA_NODE1_HOSTNAME]:8081 route=csa1
    BalancerMember http://[CSA_NODE2_HOSTNAME]:8081 route=csa2
    BalancerMember http://[CSA_NODE3_HOSTNAME]:8081 route=csa3
    ProxySet stickysession=CSA_ROUTEID
    </Proxy>
    ProxyPass / balancer://csacluster/
    ProxyPassReverse / balancer://csacluster/
    </VirtualHost>
  2. Edit the <codar_home>\Apache2.2\conf\httpd.conf (for Microsoft Windows) /etc/httpd/conf/httpd.conf file (for Linux systems):

    1. Add or update the list of modules that are loaded to include the following modules:

      Microsoft Windows Linux
      LoadModule authz_host_module modules\mod_authz_host.so
      LoadModule headers_module modules\mod_headers.so
      LoadModule log_config_module modules\mod_log_config.so LoadModule proxy_module modules\mod_proxy.so
      LoadModule proxy_balancer_module modules\mod_proxy_balancer.so LoadModule proxy_connect_module modules\mod_proxy_connect.so LoadModule proxy_http_module modules\mod_proxy_http.so
      LoadModule rewrite_module modules\mod_rewrite.so LoadModule ssl_module modules\mod_ssl.so
      LoadModule authz_host_module modules/mod_authz_host.so
      LoadModule headers_module modules/mod_headers.so
      LoadModule log_config_module modules/mod_log_config.so
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
      LoadModule proxy_connect_module modules/mod_proxy_connect.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
      LoadModule rewrite_module modules/mod_rewrite.so
      LoadModule ssl_module modules/mod_ssl.so
    2. Add the following line:

      For Microsoft Windows:

      Include conf\extra\csa.conf

      For Linux:

      Include conf.d/*.conf