Назад | Перейти на главную страницу

Cas-protected сайт за обратным прокси-сервером apache

Моя установка:

Что я хочу сделать, так это настроить обратный прокси на что-то вроде этого:

<Location /proxyTest >
      ProxyPass https://localhost:4448/myApp
      ProxyPassReverse https://localhost:4448/myApp
</Location>

И тогда сможете писать

https://localhost/proxyTest

вместо того

https://localhost:4448/myApp

И это работает хорошо, меня перенаправляют, я получаю cas-ticket, я аутентифицируюсь и т. Д. ПРОБЛЕМА заключается в том, что URL-адрес страницы cas-login показывает:

https://localhost:8443/cas-server/login?service=https%3A%2F%2Flocalhost%3A4448%2Fmyapp

И после входа в систему в моем браузере отображается следующий URL:

https://localhost:4448/myApp

Итак, перенаправление не работает должным образом ... где-то по пути меня отправляют обратно на URL-адрес без прокси. Скорее всего cas-клиентом. Как я могу настроить такой прокси для правильной работы, чтобы все это было прозрачным, как только я получу действующий билет?

Используется ли использование Tomcat AJP? Или настроить и использовать таинственный механизм обратного вызова прокси-сервера cas в cas-client, который я никогда не понимал, как использовать? что-то другое?

Директива ProxyPassReverse - это то, что перезаписывает URL-адрес, возвращаемый Apache при перенаправлении и т. Д. См. этот вопрос для краткого объяснения.

Я думаю, что ты ищешь

<Location /proxyTest>
    ProxyPass https://localhost:4448/myApp
    ProxyPassReverse https://localhost/proxyTest
</Location>

Здесь вы используете http (s), поэтому AJP не задействован. Согласно документам, ProxyPassReverse не требуется для AJP, поэтому у вас может быть что-то вроде

<Location /proxyText>
    ProxyPass ajp://localhost:4448/myApp
</Location>