апачский mod_proxy и исходный URL

Я имею апачские 2,2 mod_proxy, работающие хорошо по большей части, но испытываю некоторые затруднения из-за некоторых наших более новых инструментов.

У нас есть файл конфигурации для одного сервера ниже.

Наша проблема, когда пользователь переходит к web.example.com/app1/prd/test.php, оконечное приложение только видит несколько вещей.. текущий URL-запрос, который это видит, является webprd.example.local:8194/test.php и заголовком: X-Forwarded-Host:web.example.com

Как я могу записать заголовок в запрос, который включал бы полный URL/URI, который имела исходная запрашивающая сторона? Для приложения нужна та информация для нашего использования. Что-то как X-Forwarded-URI:web.example.com/app1/prd/test.php
Или мы могли даже пропустить хост, так как это - другой заголовок.

<VirtualHost xxx.xxx.xxx.xxx:443>
        #removed some ssl and log related settings.
        ProxyPreserveHost On
        ProxyBadHeader Ignore
        ServerName web.example.com


        #app1
        ProxyPass /app1/dev/ https://webdev.example.local:4433/ timeout=600
        ProxyPassReverse /app1/dev/ https://webdev.example.local:4433/
        ProxyPass /app1/test/ http://webtest.example.local:8194/ timeout=600
        ProxyPassReverse /app1/test/ http://webtest.example.local:8194/
        ProxyPass /app1/prd/ http://webprd.example.local:8194/ timeout=600
        ProxyPassReverse /app1/prd/ http://webprd.example.local:8194/
        ProxyPass /app1/ http://webprd.example.local:8194/ timeout=600
        ProxyPassReverse /app1/ http://webprd.example.local:8194/
        #app2
        ProxyPass /app2/dev/ http://webdev.example.local:16222/ 
        ProxyPassReverse /app2/dev/ http://webdev.example.local:16222/
        ProxyPass /app2/test/ http://webtest.example.local:16222/ 
        ProxyPassReverse /app2/test/ http://webtest.example.local:16222/
</VirtualHost>
0
задан 17 February 2015 в 18:49
1 ответ

Я не уверен в настройке заголовка, так как это кажется немного запутанным. Но вы можете просто включить тот же URI в прокси, например:

ProxyPass /app1/prd/ http://webprd.example.local:8194/app1/prd/ timeout=600
ProxyPassReverse /app1/prd/ http://webprd.example.local:8194/app1/prd/

Я не уверен, зачем вам эта информация, поэтому я не могу быть уверен, но разве это не решит вашу проблему?

0
ответ дан 24 November 2019 в 08:47

Теги

Похожие вопросы