Configuración de un equilibrador de carga para soportar el failover
Si tiene previsto instalar y configurar más de una instancia de Essbase para soportar el failover, necesita un equilibrador de carga de front-end.
Una opción a tener en cuenta para un equilibrador de carga es Oracle HTTP Server, ya que está integrado con WebLogic y proporciona servicios web para Oracle Fusion Middleware.
Otra opción es el servidor HTTPD de Apache.
Note:
Si se conecta a través de Smart View, mediante la URL/aps/SmartView, debe cambiar la URL. Consulte Redirección a la nueva URL de conexión de Essbase Smart View. También puede configurar la redirección a la nueva URL en el servidor web. Si utiliza Oracle HTTP Server (OHS) o el servidor HTTPD de Apache, redirija la URL mientras modifica la configuración de Oracle HTTP Server, como se describe en este tema.
Oracle HTTP Server o el servidor HTTPD de Apache
- Primero, instale y configure Oracle HTTP Server o el servidor HTTPD de Apache. Consulte Install Oracle HTTP Server.
- A continuación, localice el archivo
mod_wl_ohs.confen la raíz de dominio de OHS en la instalación de Oracle HTTP Server.Por ejemplo:
<OHS>/oracle/user_projects/domains/SOHSDomain/config/fmwconfig/components/OHS/ohs1/mod_wl_ohs.conf(donde OHS es la ubicación del directorio raíz de la instalación de Oracle HTTP Server).
- Inserte las entradas
weblogic_moduleadecuadas enmod_wl_ohs.conf.<IfModule weblogic_module> ConnectTimeoutSecs 10 ConnectRetrySecs 2 DebugConfigInfo ON WLSocketTimeoutSecs 2 WLIOTimeoutSecs 300 Idempotent ON FileCaching ON KeepAliveSecs 20 KeepAliveEnabled ON DynamicServerList ON WLProxySSL OFF </IfModule> <Location /essbase> SetHandler weblogic-handler WebLogicCluster hostname:managed_server_port Debug ALL KeepAliveSecs 20 KeepAliveEnabled ON DebugConfigInfo ON </Location> -
Edite
<Location /Essbase>y sustituyahostnamepor el nombre de host del host 1 ymanaged_server_portpor el puerto del servidor gestionado de WebLogic de Essbase del host 1. Mediante un formato separado por comas (CSV), agregue cada nodo de servidor gestionado de Essbase adicional que tenga previsto incluir en el cluster.Por ejemplo:
Supongamos que el host de Essbase 1 se ejecuta en
hostname1:managed_server_port1y el host 2 se ejecuta enhostname2:managed_server_port2.Para especificar los servidores en formato separado por comas, escriba (sin espacios agregados):
hostname1:managed_server_port1,hostname2:managed_server_port2No agregue el prefijo http o https a ningún nombre de host.
- Guarde la configuración.
- Reinicie Oracle HTTP Server.
- Para parar Oracle HTTP Server:
-
Vaya al directorio
binen la raíz de dominio de OHS.cd ./user_projects/domains/SOHSDomain/bin/ -
Ejecute el script para detener el componente del servidor de OHS.
./stopComponent.sh ohs1 -
En segundo plano, ejecute el script para parar el gestor de nodos.
nohup ./stopNodeManager.sh & - En el indicador de contraseña, introduzca la contraseña que se introdujo durante la instalación.
-
- Para iniciar Oracle HTTP Server:
-
Navegue hasta el directorio bin en la raíz de dominio de OHS.
cd ./user_projects/domains/SOHSDomain/bin/ -
En segundo plano, ejecute el script para iniciar el gestor de nodos.
nohup ./startNodeManager.sh & -
Ejecute el script para iniciar el componente del servidor de OHS.
./startComponent.sh ohs1 - En el indicador de contraseña, introduzca la contraseña que se introdujo durante la instalación.
-
Para obtener información sobre la configuración SSL de Oracle HTTP Server, consulte Configure mod_wl_ohs.
- Para parar Oracle HTTP Server:
Código de ejemplo para la descarga de SSL con el servidor HTTPD de Apache
A continuación, se muestra un ejemplo de configuración HTTP de descarga SSL con Apache HTTPD Server, utilizando el puerto predeterminado SSL 443 (o cualquier otro puerto seleccionado) para la redirección de descarga HTTPS a Essbase.
#
# Macro file for the Essbase proxy settings
#
<Macro EssbaseProxy $TargetUrl>
ProxyPreserveHost On
ProxyPassReverse / $TargetUrl/
ProxyErrorOverride Off
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase(/)?$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase(/)?$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase(/)?$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
# jsession redirect issue
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet(;.*)?$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet(;.*)?$ https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet(;.*)?$ http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Logout url
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet/logout.html
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet/logout.html https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet/logout.html http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Support redirect_uri logout for virtual hosts
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/redirect_uri$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/redirect_uri?logout=%{HTTP:X-Forwarded-Proto}://%{HTTP:X-Forwarded-Host}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/redirect_uri$
https://%{HTTP_HOST}/essbase/redirect_uri?logout=https://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteRule ^/essbase/redirect_uri$
http://%{HTTP_HOST}/essbase/redirect_uri?logout=http://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
# Set weblogic specific headers
<If "%{HTTP:X-Forwarded-Proto} == 'https' || %{HTTPS} == 'on'">
RequestHeader set WL-Proxy-SSL "true"
RequestHeader set IS_SSL "ssl"
</If>
<Location "/">
Options -Indexes
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</Location>
<Location "/essbase">
ProxyPass "$TargetUrl/essbase"
</Location>
<Location "/essbase/redirect_uri">
ProxyPass "!"
</Location>
<Location "/weblogic/ready">
ProxyPass "$TargetUrl/weblogic/ready"
</Location>
</Macro>