Мое веб-приложение работает в 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, только один из которых правильный.