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