У меня есть URL-адрес единого входа -
http://<server>/<junction>/<application_context>/ssoLogin.do
e.g. http://pingu.intranet.com/tms/mint/ssoLogin.do
Как только пользователь нажмет эту ссылку. SSO junction добавляет заголовки и перенаправляет на веб-сервер Apache. Моя цель - удалить имя соединения SSO, как только запрос достигнет Apache (где я использую ProxyPass и AJP для подключения к Tomcat App).
Проблема в том, что mod_rewrite выбирает URI - /mint/ssoLogin.do. поэтому не могу удалить имя соединения / тмс. например rewrite.log говорит
init rewrite engine with requested uri /mint/js/jquery/jquery.min.js
Мой файл настроек выглядит как
ProxyPreserveHost On
# define the balancer, with http and/ or ajp connections
<Proxy balancer://application_cl>
BalancerMember ajp://pingu01.intranet.com:8009 route=node1 disablereuse=on retry=0
BalancerMember ajp://pingu02.intranet.com:8009 route=node2 disablereuse=on retry=0
</Proxy>
# Vendor Product ProxyPass Settings
ProxyPass /mint balancer://application_cl/mint stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse /mint balancer://application_cl/mint
# Custom settings to remove junction name for proper javascript loading
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/tms/
RewriteRule ^/tms/(.*) /$1
</IfModule>
# RequestHeader settings(as per Product documentation)
SetEnvIf X-Forwarded-Proto .+ HAVE_X_FORWARDED_PROTO
RequestHeader set X-Forwarded-Proto "http" env=!HAVE_X_FORWARDED_PROTO