Сеанс Flask удаляет данные при использовании с сеансом на стороне сервера redis

#docker #redis #flask-session

#docker #redis #сеанс flask

Вопрос:

Две настройки. Два разных результата.

Настройка 1: приложение Flask работает в режиме разработки, redis работает в локальном контейнере.

Данные сеанса сохраняются во всех запросах.

Настройка 2: приложение Flask, запущенное на экземпляре AWS EC2 в контейнере, с redis, запущенным в контейнере в среде docker-compose с контейнером nginx в среде docker compose.

Некоторые данные сеанса не сохраняются между запросами.

Самое интересное, что если я сохраняю сеанс в файле cookie, система работает должным образом, и все состояние сохраняется в Setup 2.

Не уверены ни в одном из следующих:

  • почему некоторые элементы сеанса сохраняются, а другие нет.
  • почему это работает локально повторно, а не на экземпляре EC2.
  • Что происходит не так и (надеюсь) как я это исправляю или отлаживаю.

ОБНОВЛЕНИЕ:
конфигурация сеанса для сеанса на стороне сервера:

 PERMANENT_SESSION_LIFETIME = 600
SESSION_TYPE = 'redis'
SESSION_REDIS = redis.from_url('redis://redis')
  

который является частью конфигурации приложения.
Кроме этого, я настроил сеанс flask с

 from flask_session import Session
app = Flask(__name__)
Session(app)
  

(по модулю стандартного кода, используемого для создания приложения.) Удаление вызова Session(app) и конфигурации исправляет сеанс, не удаляющий данные. Мне нужно использовать redis, потому что файл cookie сеанса недостаточно велик для хранения некоторых сеансов.

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

1. Можете ли вы предоставить некоторые подробности (код) о том, как вы реализовали сеансы, — это неправильная конфигурация, а не то, как вы сохранили эти данные в файле cookie.

2. Хороший момент @ v25 Надеюсь, что этого достаточно.

3. Да, хотя я не совсем уверен, что может быть причиной этого, как раздражает. У вас случайно нет ссылки на репозиторий для вашего кода?