123
This commit is contained in:
@ -17,3 +17,8 @@ PORT=3542
|
||||
|
||||
# Окружение (production/development)
|
||||
NODE_ENV=production
|
||||
|
||||
# Secure cookies (true/false)
|
||||
# Установите true только если используете HTTPS
|
||||
# Для Docker через HTTP используйте false
|
||||
COOKIE_SECURE=false
|
||||
|
||||
@ -31,6 +31,7 @@ services:
|
||||
- USE_REDIS=${USE_REDIS:-true}
|
||||
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
||||
- SESSION_SECRET=${SESSION_SECRET:-star-wars-hearthstone-secret-key-change-in-production}
|
||||
- COOKIE_SECURE=${COOKIE_SECURE:-false}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
redis:
|
||||
|
||||
@ -20,13 +20,17 @@ app.use(express.urlencoded({ extended: true }));
|
||||
|
||||
// Настройка сессий (будет настроена после инициализации Redis)
|
||||
// Временная конфигурация сессий, будет обновлена после инициализации Redis
|
||||
// Для работы через HTTP в Docker используем COOKIE_SECURE=false или проверяем наличие HTTPS прокси
|
||||
const cookieSecure = process.env.COOKIE_SECURE === 'true' ||
|
||||
(process.env.NODE_ENV === 'production' && process.env.COOKIE_SECURE !== 'false');
|
||||
app.use(session({
|
||||
secret: process.env.SESSION_SECRET || 'star-wars-hearthstone-secret-key-change-in-production',
|
||||
resave: false,
|
||||
saveUninitialized: false,
|
||||
cookie: {
|
||||
secure: process.env.NODE_ENV === 'production',
|
||||
secure: cookieSecure,
|
||||
httpOnly: true,
|
||||
sameSite: 'lax', // Для работы в Docker и через разные домены
|
||||
maxAge: 30 * 24 * 60 * 60 * 1000 // 30 дней
|
||||
}
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user