Newsgroup: it.comp.os.linux.sys
Titolo: mod_proxy + mod_revrite = che confusione

Ciao a tutti,
Ho la seguente esigenza: quando un browser dall'esterno contatta il sito
http://www.pippo.it/pluto
 il mio apache dovrebbe contattare il server che
ha in hosting 
www.pluto.it
, prelevarne i contenuti, e spedirli al browser,
SENZA modificare la URL. In pratica il browser deve navigare in
www.pluto.it
, essendo convinto di essere in 
www.pippo.it
. 
---------
|browser|
---------
   ^
   |                     
   |
   v
--------------                 ---------------
|
www.pippo.it
|<--------------->| 
www.pluto.it
|
--------------                 ---------------
Come posso risolvere utilizzano solo Apache? 
grazie
-- 
g4b0, linux user n. 369000
http://gabo.homelinux.com

 Come posso risolvere utilizzano solo Apache? 
La risposta è già nel tuo subject: devi usare mod_proxy.
-- 
spamto: 
yossa...@operamail.com
e a un dio fatti il culo
non credere mai

 
A dire il vero speravo in un suggerimento più loquace, ma si sa... RTFM! :)
Comunque allora lascio perdere il mod_rewrite oppure serve anche al mio
scopo?


 scopo?
Io normalmente lo faccio con mod_rewrite e l'opzione P (proxy). Guardati la
pagina del mod_rewrite nella documentazione di Apache online, è più che
esauriente.
-- 
Vide

 
grazie mille, ora gli do un'occhiata


 
Ho provato con questo:
ProxyRequests Off
ProxyPass /foo 
http://www.google.com
ProxyPassReverse /foo 
http://www.google.com
Ed in effetti funziona, ma il browser viene rediretto a 
www.google.com
, e mi
cambia anche la URL nella barra degli indirizzi, cosa che io non voglio!!
Come posso ovviare?


 Come posso ovviare?
Il problema è che 
http://www.google.com
 redirige il browser a
http://www.google.it
, quindi non c'è pezza.
Prova una roba del genere:
ProxyRequests Off
ProxyPass /search 
http://www.google.it/search
ProxyPassReverse /search 
http://www.google.it/search
Usando url del tipo:
http://it.tuo.sito/search?q=pippo
E vedrai che funziona.


g4b0 wrote:

Sulla macchina linux+Apache 2.0.59 ho risolto in questo modo (e funziona):
<VirtualHost _default_:443>
    ServerName 
test.develop.pippo.it
    ServerAdmin 
webm...@pippo.it
    ErrorLog /var/log/apache2/test_pippo_error_log
    DocumentRoot /var/www/pippo_dev/test
    #SSLEngine on
    SSLCertificateFile /etc/apache2/ssl.crt/testhttps.crt
    SSLCertificateKeyFile /etc/apache2/ssl.key/testhttps.key
    AddType text/html .htm
    <Directory "/var/www/intesa_dev/test">
        Allow from all
        Options -Indexes
        SSLrequireSSL
    </Directory>
    <Directory "/var/www/intesa_dev/test/ppp">
        Allow from all
        Options -Indexes
        SSLrequireSSL
-->     RewriteEngine on
-->     RewriteRule (.*) 
http://www.pluto.it/$1
 [P]
    </Directory>
</VirtualHost>
Sulla macchina che devo preparare, perň, ho windows2000 server (Aaaaarg) con
apache 1.3.33, e questa configurazione non funziona (risponde "The
requested URL /ppp/ was not found on this server"):
<VirtualHost *:80>
    ServerAdmin 
webm...@pippo.it
    DocumentRoot /serverweb/sito
    ServerName 
www.pippo.it
    ErrorLog logs/www.pippo.it-error_log
    CustomLog logs/www.pippo.it-access_log common
    AddType text/html .htm
    <Directory "/serverweb/sito/ppp">
        Allow from all
        Options -Indexes
        RewriteEngine on
        RewriteRule (.*) 
http://www.pluto.it/$1
 [P]
    </Directory>
</VirtualHost>
Ovviamente pippo e pluto sono nomi di fantasia...
Cosa posso fare per far funzionare il tutto? Non so piů dove sbattere la
testa!! 


 Come posso risolvere utilizzano solo Apache? 
o con mod_proxy o con mod_rewrite e la modalità P.
Occhio a non mettere su entrambi i moduli allo stesso momento, io ci ho
provato e ho perso un giorno.

     <Directory "/serverweb/sito/ppp">
io non ho la direttiva directory ma subito rewritengine e rewriterule