Мое веб-приложение работает в Tomcat на http://localhost:8080/example.com/
, но оно обращается проксимированным от Apache, обслуживающим http://example.com/
на порту 80. Мое веб-приложение просматривает заголовок request.getHeader("x-forwarded-host")
, чтобы знать, что он находится за обратный прокси. Когда он обнаруживает это (динамически), он создает URL-адреса без пути сервлета на них.
Это отлично работает для всего, кроме файла cookie JSESSIONID. Он устанавливается с помощью пути /example.com
вместо /
, когда к нему обращаются через обратный прокси. Я не могу понять, как я могу заставить свой код сказать Tomcat, чтобы переопределить путь для этого файла cookie, когда в запросе есть заголовок x-forwarded-host
.
Я попытался самостоятельно установить файл cookie JSESSIONID из веб-приложения, но это приводит к двум заголовкам Set-Cookie, только один из которых правильный.