Using a Load Balancer with EPM and Essbase 21c
If you have been following the latest EPM releases, you know EPM 11.2.15+ now includes Essbase 21c. Essbase 21c is a new architecture which includes a Weblogic component, and a GUI front end navigated with a web browser. As part of the EPM suite OHS is used to proxy browser requests to Essbase, like any of the other EPM components.
In a recent deployment our EPM architecture included a load balancer used to offload SSL between the clients and the EPM OHS host. We were seeing issues getting to the Essbase GUI. If we navigated to the {load_balancer)/essbase/jet URL for the Essbase server we were prompted for a login, but attempts to log in resulted in the software simply reloading the login page. Using the direct URL or trying the OHS:19000 url worked fine. We entered credentials and were passed into the Essbase GUI.
Reviewing the EPM configuration, we verified the WebLogic plugin file looked correct, and that we had run the config tool and selected SSL off-loading in the “Common Settings” panel. This ruled out the EPM configuration, especially since the non-load balanced URLs were working. The last area to investigate was the load balancer configuration. The documentation is spread across a few sources, the EPM documentation, the release readme files, and the Essbase 21c Independent Deployment documentation, yes even though it was deployed with EPM, the independent Essbase documentation proved helpful.
We were able to find some additional configuration options which proved successful:
An additional module loaded into OHS configuration
Re-write rules at the load balancer
Header insertion at the load balancer
OHS configuration
An additional module “certheaders_module” was added to the OHS httpd.conf file:
#For Essbase 21c behind LoadBalancer
LoadModule certheaders_module ${PRODUCT_HOME}/modules/mod_certheaders.so
SimulateHttps On
# end Essbase
Load Balancer
Rewrite rules were added to the listener configuration:
/essbase was re-written to /essbase/jet/
/essbase/ was re-written to /essbase/jet/
Headers for SSL were also added:
An “is_ssl” header with a value of “ssl” was added
An “WL-Proxy-SSL” with a value of “true”
After these configuration updates, and a restart, we were successfully able to log into Essbase through the load balancer.