Я имею апачские 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>
Я не уверен в настройке заголовка, так как это кажется немного запутанным. Но вы можете просто включить тот же URI в прокси, например:
ProxyPass /app1/prd/ http://webprd.example.local:8194/app1/prd/ timeout=600
ProxyPassReverse /app1/prd/ http://webprd.example.local:8194/app1/prd/
Я не уверен, зачем вам эта информация, поэтому я не могу быть уверен, но разве это не решит вашу проблему?