Сохранить исходный URL-адрес запроса при перенаправлении mod_proxy

Я запускаю веб-приложение в контейнере сервлетов (порт 8080) в среде, которая может можно получить доступ из Интернета (внешний) и изнутри компании (внутренний), например

http://external.foo.bar/MyApplication
http://internal.foo.bar/MyApplication

Входящие (внешние / внутренние) запросы перенаправляются в контейнер сервлетов с помощью http-сервера apache с mod_proxy. Конфигурация выглядит так:

ProxyPass /MyApplication http://localhost:8080/MyApplication retry=1 acquire=3000 timeout=600 Keepalive=On
ProxyPassReverse /MyApplication http://localhost:8080/MyApplication

Теперь я столкнулся с проблемой, что некоторые ответы MyApplication зависят от исходного URL-адреса запроса. Бетон: документ WSDL будет предоставлен с элементом с элементом schemaLocation = "? xsd = MyApplication.xsd" .

В моей текущей конфигурации он всегда выглядит как

<xs:import namespace="..." schemaLocation="http://localhost:8080/MyApplication?xsd=MyApplication.xsd"/>

, но должен be

External Request: <xs:import namespace="..." schemaLocation="http://external.foo.bar/MyApplication?xsd=MyApplication.xsd"/>
Internal Request: <xs:import namespace="..." schemaLocation="http://internal.foo.bar/MyApplication?xsd=MyApplication.xsd"/>

Полагаю, это обычное требование. Но так как я не являюсь экспертом в настройке http-сервера apache и его модулей, я был бы рад, если бы кто-нибудь мог оказать (подробную) помощь.

Заранее спасибо!

22
задан FrVaBe 20 May 2011 в 12:30
поделиться