Несколько идентификаторов HttpSession в Java для одного и того же пользователя

У меня проблема с сессиями. Когда я пробую свой проект из локальных источников и несколько раз обновляю JSP, содержащий следующий код:

<h1>Session ID=<%=session.getId()%></h1>

Он всегда отображает один и тот же идентификатор. Хорошо.

Проблема в том, что я развернул проект на удаленном сервере, и когда я перезагружаю тот же JSP, он возвращает мне другой идентификатор сеанса каждый раз, когда я обновляю страницу.

Удаленный сервер использует https (сертификат SSL) и обратный прокси NGINX (если эта информация помогает ...).

Что я делаю не так?

Если потребуется дополнительная информация, сообщите мне, и я дам ее вам.

PS. Дополнительная информация: если я получаю доступ к удаленному серверу, используя его IP-адрес и порт, кажется, что это работает,давая мне один и тот же идентификатор сеанса каждый раз, когда я обновляю страницу.

0
задан 18 July 2019 в 16:59
1 ответ

Я решил эту проблему, изменив некоторые файлы конфигурации в NGINX и Tomcat.

В NGINX я удалил строки proxy-cache , которые я написал на сервере конфигурация.

В Tomcat я установил context.xml следующим образом:

<Context path="/" 
         reloadable="false" 
         override="true" 
         useNaming="false" 
         allowLinking="true" 
         useHttpOnly="false" 
         sessionCookiePath="/" 
         sessionCookiePathUsesTrailingSlash="false"/>

И это работает! :)

0
ответ дан 23 November 2019 в 22:47

Теги

Похожие вопросы