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]