Nel seguito sono riportate alcune tipiche configurazioni di regole su
Apache. Quindi le configurazioni specifiche ed i relativi risultati
sull'effettuazione di un reverse proxying di Oracle Portal.
Tutte le configurazioni sono effettuate senza modificare NULLA sui
server di destinazione finali, eventuali variazioni sono indicate.
Una configurazione in reverse proxy "completa" di Portal
richiede la variazione del ServerName o la configurazione di un
Virtual Host...
### Apache hacking (esempi base per la ridirezione/proxy con Apache)
# Mirror site
ProxyPass /mirror/foo/ http://foo.com/
ProxyPassReverse /mirror/foo/ http://foo.com/
# Trailing /
RewriteEngine on
# Options FollowSymLinks # Sometimes usefull
RewriteBase /~quux/
RewriteRule ^foo$ foo/ [R]
# Failing URL
RewriteEngine on
RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f
RewriteRule ^(.+) http://webserverB.dom/$1
### Oracle Portal reverse proxying
1) MODALITA' CONSIGLIATA:
# Prova ridirezione con proxy pass (nel file httpd.conf di www.acme.it)
ProxyPass /appl1 http://portal.acme.it
ProxyPassReverse /appl1 http://portal.acme.it
ProxyPass /portal/ http://portal.acme.it/portal/
ProxyPassReverse /portal/ http://portal.acme.it/portal/
ProxyPass /pls/ http://portal.acme.it/pls/
ProxyPassReverse /pls/ http://bandi.acme.it/pls/
# Accedendo a http://www.acme.it/portal/ si naviga sul portale gestito dal server portal.acme.it
# NB. Occhio ai link assoluti, eventualmente utilizzare ProxyPreserveHost on e definire un
# virtualhost
2) Altra possibilita' piu' leggera per il server intermedio:
# Utilizzo di redirect
RewriteEngine On
Options FollowSymLinks
RewriteBase /appl2/
RewriteRule ^(.*) http://portal.acme.it/ [R]
# Funziona correttamente e ovviamente, a parte la prima richiesta,
# tutte le sucessive richieste sono sul sito finale
1.1) Versione con regola:
# Prova con una regola di Proxy
RewriteEngine On
Options FollowSymLinks
RewriteBase /appl3/
RewriteRule ^(.*) http://portal.acme.it/ [P]
# Funziona correttamente ma non gestisce il reverse mapping (ovviamente
# serve la regola ProxyPassReverse come in 1)
# Le configurazioni indicate operano correttamente anche nel caso di
# autenticazione con SSO, ma passata la fase di autentication si torna al sito portal
# Dovrebbe essere possibile far rifunzionare tutto ma... richiede la
# gestione manuale dell'enabler table &co (o ptlconfig con 10g R2)
Utilizzo dell'HTTPS per alcune pagine soltanto:
1. edit httpd.conf (MT):
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|.*&)_pageid=69,(.*)(&.*|$)
RewriteRule ^/(.*)$ https://middletier_host.domain:https_port/$1 [L,R]
2. update DCM
dcmctl updateConfig -ct ohs
3. stop and restart the HTTP Server and the webcache
opmnctl stopproc process-type=HTTP_Server
opmnctl stopproc process-type=WebCache
opmnctl startproc process-type=HTTP_Server
opmnctl startproc process-type=WebCache
Utilizzo dell'HTTP su una sola pagina pubblica:
< RewriteCond %{QUERY_STRING} (^|.*&)_pageid=69,(.*)(&.*|$)
> RewriteCond %{QUERY_STRING} !(^|.*&)_pageid=69,(.*)(&.*|$)
Dalla versione 10.1.4 le URL cambiano quindi:
RewriteEngine On
RewriteRule ^/portal/page/portal/RESTRICTED_PAGE_GROUP(.*)$ https://middletier_host.domain:https_port/portal/page/portal/RESTRICTED_PAGE_GROUP$1 [L,R]