Apache Rewrite then Proxy Pass

У меня есть сервер apache, который работает как обратный прокси в нашей DMZ. У нас есть внешняя служба, которая посылает обратный адрес URL на этом сервере. Сейчас есть необходимость в том, чтобы эта служба возвращалась к совершенно новому приложению, но это, скорее всего, изменится в ближайшем будущем, поскольку сейчас мы находимся на стадии тестирования.

Итак, чтобы решить эту проблему, я пытаюсь взять входящий запрос postback, /smsPostback.php, и переписать его на новый относительный URL, /SMSHandler/Process. Эта часть работает.

Однако сразу ниже в конфиге у меня есть директива ProxyPass для проксирования всего трафика на /SMSHandler на внутренний сервер.

Вот новые строки из файла 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

А это логи из журнала перезаписи:

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]

А это запись в журнале ошибок от apache:

[Tue Jan 24 18:43:36 2012] [error] [client 172.29.61.49] File does not exist: C:/fmfacilitymaintenance.com/SMSHandler

Есть мысли о том, почему он никогда не проксирует запрос, а пытается (и не получается) обслужить его локально? Спасибо!

6
задан Matt 25 January 2012 в 13:16
поделиться