Ho un server Apache che funziona come proxy inverso nella nostra DMZ. Abbiamo un servizio esterno che invia di nuovo a un determinato URL su questo server. Ora è necessario che questo servizio effettui il reinserimento su un'applicazione completamente nuova, ma molto probabilmente cambierà nuovamente nel prossimo futuro mentre ci troviamo in una fase di test in questo momento.Apache Riscrivi quindi Proxy Pass
Quindi, per risolvere questo problema, sto tentando di rispondere alla richiesta di postback in arrivo, /smsPostback.php
, e di riscriverlo su un nuovo URL relativo, /SMSHandler/Process
. Questa parte sta funzionando.
Tuttavia definito immediatamente sotto nella configurazione, ho una direttiva ProxyPass per proxy tutto il traffico a /SMSHandler
a un server interno.
Queste sono le nuove linee dal file apache conf:
RewriteRule ^/smsPostback.php$ /SMSHandler/Process
##Proxy pass smshandler
ProxyPass /SMSHandler http://172.29.61.49:8080/SMSHandler
ProxyPassReverse /SMSHandler http://172.29.61.49:8080/SMSHandler
E questi sono i registri del registro di riscrittura:
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) init rewrite engine with requested uri /smsPostback.php
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (3) applying pattern '^/smsPostback.php$' to uri '/smsPostback.php'
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) rewrite '/smsPostback.php' -> '/SMSHandler/Process'
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) local path result: /SMSHandler/Process
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (2) prefixed with document_root to C:/hidden.com/SMSHandler/Process
172.29.61.49 - - [24/Jan/2012:18:43:36 --0500] [test.hidden.com/sid#5eace0][rid#446b770/initial] (1) go-ahead with C:/hidden.com/SMSHandler/Process [OK]
e questa è la voce di registro di errore da apache:
[Tue Jan 24 18:43:36 2012] [error] [client 172.29.61.49] File does not exist: C:/fmfacilitymaintenance.com/SMSHandler
Qualsiasi idea sul motivo per cui non inverte mai proxy della richiesta, ma cerca (e non riesce) a servirlo localmente ?? Grazie!
Grazie Jon! L'ha fatto! – Matt
è possibile rilasciare 'Ultimo ', è implicito con Passthrough http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_pt – oberhamsi