barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 29 февраля 2012 г.

Модификация Path в заголовке Set-Cookie, отправляемом backend-сервером, сидящим за Apache2 с mod_proxy

Проблема:

За Apache2 веб-сервером сидит backend-сервер Tomcat, при этом путь на Apache2, по которому ведется проксирование, отличается от пути на Tomcat`е, и, следовательно, куки, устанавливаемые томкатом, оказываются недействительными, т.к. в заголовке Set-Cookie браузер видит не тот Path, который указан в URL`е.

Решение:

mod_proxy предусматривает модификацию отправляемого клиенту заголовка Set-Cookie директивой ProxyPassReverseCookiePath. Например, если запросы в корень апача проксируются на путь /mypath томката, директива будет выглядеть следующим образом:
ProxyPassReverseCookiePath /mypath /
Тогда заголовки вида:
Set-Cookie JSESSIONID=2CAF42328709F0A93ABD515651002089; Path=/mypath
будут преобразовываться проксёй в:
Set-Cookie JSESSIONID=2CAF42328709F0A93ABD515651002089; Path=/

Комментариев нет:

Отправить комментарий