Configuration d'un équilibreur de charge pour la prise en charge du basculement
Si vous prévoyez d'installer et de configurer plusieurs instances Essbase, pour prendre en charge le basculement, vous avez besoin d'un équilibreur de charge frontal.
Une option à prendre en compte pour un équilibreur de charge est Oracle HTTP Server, car il est intégré à WebLogic et fournit des services Web pour Oracle Fusion Middleware.
Une autre option est le serveur HTTPD Apache.
Remarques :
Si vous êtes connecté via Smart View, à l'aide de l'URL/aps/SmartView, vous devez modifier l'URL. Reportez-vous à Rediriger vers une nouvelle URL de connexion Essbase Smart View. Vous pouvez également configurer la redirection vers la nouvelle URL sur le serveur Web. Si vous utilisez Oracle HTTP Server (OHS) ou Apache HTTPD Server, redirigez l'URL lors de la modification de la configuration d'Oracle HTTP Server, comme décrit dans cette rubrique.
Oracle HTTP Server ou Apache HTTPD Server
- Tout d'abord, installez et configurez Oracle HTTP Server ou Apache HTTPD Server. Reportez-vous à Installation d'Oracle HTTP Server.
- Localisez ensuite le fichier
mod_wl_ohs.confsous la racine du domaine OHS dans l'installation d'Oracle HTTP Server.Par exemple :
<OHS>/oracle/user_projects/domains/SOHSDomain/config/fmwconfig/components/OHS/ohs1/mod_wl_ohs.conf(où OHS est l'emplacement d'origine de l'installation d'Oracle HTTP Server).
- Insérez les entrées
weblogic_moduleappropriées dansmod_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> -
Modifiez
<Location /Essbase>et remplacezhostnamepar le nom d'hôte de l'hôte 1 etmanaged_server_portpar le port de serveur géré Essbase WebLogic de l'hôte 1. A l'aide d'un format CSV, ajoutez chaque noeud de serveur géré Essbase supplémentaire que vous prévoyez d'inclure dans votre cluster.Par exemple :
Supposons que l'hôte Essbase 1 s'exécute sur
hostname1:managed_server_port1et l'hôte 2 surhostname2:managed_server_port2.Pour spécifier les serveurs au format séparé par des virgules, tapez (sans espace ajouté) :
hostname1:managed_server_port1,hostname2:managed_server_port2N'ajoutez pas le préfixe http ou https à un nom d'hôte.
- Enregistrez la configuration.
- Redémarrez Oracle HTTP Server.
- Pour arrêter Oracle HTTP Server, procédez comme suit :
-
Accédez au répertoire
binsous la racine du domaine OHS.cd ./user_projects/domains/SOHSDomain/bin/ -
Exécutez le script pour arrêter le composant serveur OHS.
./stopComponent.sh ohs1 -
En arrière-plan, exécutez le script pour arrêter le gestionnaire de noeuds.
nohup ./stopNodeManager.sh & - A l'invite de mot de passe, saisissez le mot de passe saisi lors de l'installation.
-
- Pour démarrer Oracle HTTP Server, procédez comme suit :
-
Accédez au répertoire bin sous la racine du domaine OHS.
cd ./user_projects/domains/SOHSDomain/bin/ -
En arrière-plan, exécutez le script pour démarrer le gestionnaire de noeuds.
nohup ./startNodeManager.sh & -
Exécutez le script pour démarrer le composant serveur OHS.
./startComponent.sh ohs1 - A l'invite de mot de passe, saisissez le mot de passe saisi lors de l'installation.
-
Pour la configuration SSL d'Oracle HTTP Server, reportez-vous à Configuration de mod_wl_ohs.
- Pour arrêter Oracle HTTP Server, procédez comme suit :
Exemple de code pour le déchargement SSL à l'aide du serveur Apache HTTPD
Voici un exemple de configuration HTTP de déchargement SSL à l'aide du serveur Apache HTTPD, à l'aide du port SSL par défaut 443 (ou de tout autre port sélectionné) pour la redirection de déchargement HTTPS vers 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>