Newsgroup: it.comp.os.linux.sys
Titolo: [1/2 OT] httpd rewrite

Salve a tutti,
 
relativamente alla storia dell'altra
volta (httpd proxy), avrei un altro
problema che, nonostante i tentativi,
non riesco a risolvere.
 
Supponiamo di essere nel caso "proxy",
cioe` la connessione al server httpd
viene "passata" ad un altro server.
 
Questo server ritorna delle pagine,
le quali hanno dei link.
I link relativi al server stesso sono
"riscritte" in modo da consentire ad
httpd di funzionare a dovere.
 
Ora, io vorrei riscrivere anche altri
link, che appartengono altrove.
 
Per esempio, il server ha un "href" a
"
http://pippo.com
" (esterno), lo vorrei
riscrivere come "/mypage/
pippo.com
",
oppure "/mypage/?
http://pippo.com
" o
qualcos'altro.
 
In particolare *.com deve essere riscritto.
 
Ho provato con "redirectmatch" e con
"rewritematch", ma non sembra succedere
assolutamente niente.
 
Sbaglio quasi certamente qualcosa, ma
la documentazione e` per me quasi
incomprensibile e non capisco come fare
ad avere qualche "feedback" dal sistema.
 
Qualche suggerimento al riguardo?
 
Grazie anticipatamente,
 
bye,
 
-- 
 
piergiorgio

qualcos'altro.
 
Credo che ProxyPassReverse possa essere usato più volte. Non ho controllato,
però.
 
Leonardo
-- 
 
"You all presumably know why" :-) :-(

 qualcos'altro.
 
Se ho capito bene cosa vuoi fare, devi usare un approccio diverso.
 
redirectmatch e rewritematch "matchano" le connessioni entranti, non
quelle in uscita.
 
Questo significa che quando il browser si collega a
tuoserver.com/qualcosa
, il proxy su "
tuoserver.com
" vede "/qualcosa" e
può riscriverlo come "/qualcosaltro" prima di processarlo (che sia
mandarlo a un altro server interno o mandarlo a PHP per processarlo, o
altro)
 
Se tu nel tuo HTML hai un link a 
http://pippo.com
, è il browser che si
collega a 
pippo.com
, e tu non hai nessun controllo sulle sue regole di
matching.
 
Un reverse proxy non modifica il contenuto dei file che vengono
rimandari indietro.
 
Quello che ti serve è probabilmente un parser HTML che, prima di mandare
la pagina al browser, riscrive gli URL dentro l'HTML in modo che puntino
al tuo server.
 
Bye.

 ad avere qualche "feedback" dal sistema.
 
Forse hai bisogno di mod_proxy_html, ma non so se ho capito.
 
-- 
Cio' che si vede, e'.
 

 In particolare *.com deve essere riscritto.
[...]
 
Per chi fosse interessato, la soluzione
e` usare:
 
ProxyHTMLURLMap url1 url2
 
Che sostituisce il primo con il secondo.
Volendo anche con espressioni regolari.
 
In pratica, la pagina servita da "apache"
viene manipolata.
 
Ci vanno vari ammennicoli intorno:
 
ProxyHTMLEnable On
ProxyHTMLExtended On
 
Un sfilza di:
 
ProxyHTMLLinks  a          href
ProxyHTMLLinks  area       href
...
 
Ed infine:
 
SetOutputFilter INFLATE;DEFLATE
 
Che serve nel caso di html compresso...
 
Pero` funziona, avendo il regexp corretto
nella sostituzione... :-)
 
bye,
 
-- 
 
piergiorgio

On 27/07/2020 19.34, Piergiorgio Sartor wrote:
[...]
Come al solito, dimenticavo qualcosa:
 
http://www.apachetutor.org/admin/reverseproxies
 
 
E` un tutorial decente (ma forse si
potrebbe fare meglio).
 
bye,
 
-- 
 
piergiorgio

 Forse hai bisogno di mod_proxy_html, ma non so se ho capito.
 
Infatti, questo funziona.
 
Thanks,
 
bye,
 
-- 
 
piergiorgio