User Tools

Site Tools


Configure Apache as a Proxy Server for an EASA cluster

This page describes a reference implementation for an Apache proxy server running https behind a firewall which manages connections to an EASA Server and two EASAP (or historically 'JSF') Servers. This example is for linux but is directly applicable for Apache on Windows.

An Author or User will only interact with the Apache proxy server.


Apache Linux server (UApache) configuration

Settings in an httpd.conf file or equivalent.

  • Listen 8443
  • Listen 8081
  • Listen 8082
  • <VirtualHost *:8443 >
    • Header edit Location ^http://easaservername:8080 https://easaservername:8080
    • ProxyPreserveHost On
    • ProxyRequests off
    • ProxyPass / http://easaservername:8080/
    • ProxyPassReverse / http://easaservername:8080/
    • SSLEngine On
    • SSLCertificateFile /etc/ssl/certs/easa.crt
    • SSLCertificateKeyFile /etc/ssl/certs/easa.key
  • </Virtualhost>
  • <VirtualHost *:8081>
    • ProxyPreserveHost On
    • ProxyRequests off
    • ProxyPass / http://jsf1servername:8080/
    • ProxyPassReverse / http://jsf1servername:8080/
    • SSLEngine On
    • SSLCertificateFile /etc/ssl/certs/easa.crt
    • SSLCertificateKeyFile /etc/ssl/certs/easa.key
  • </Virtualhost>
  • <VirtualHost *:8082>
    • ProxyPreserveHost On
    • ProxyRequests off
    • ProxyPass / http://jsf2servername:8080/
    • ProxyPassReverse / http://jsf2servername:8080/
    • SSLEngine On
    • SSLCertificateFile /etc/ssl/certs/easa.crt
    • SSLCertificateKeyFile /etc/ssl/certs/easa.key
  • </Virtualhost>

EASAP (or 'JSF') Server configuration

  • configuration of jsf1servername
    • <SERVERDATA>\jsf-easa\admin\config\context.properties
      • easa.server.public=https://uapache:8443/easa
      • easa.server.private=http://easaservername:8080/easa
      • jsf.public.url=https://uapache:8081/easa
  • configuration of jsf2servername
    • <SERVERDATA>\jsf-easa\admin\config\context.properties
      • easa.server.public=https://uapache:8443/easa
      • easa.server.private=http://easaservername:8080/easa
      • jsf.public.url=https://uapache:8082/easa