fix: 프로덕션 쿠키/세션 문제 해결

- trust proxy 설정 (Traefik 뒤에서 동작)
- 쿠키 secure:false (Traefik이 SSL 처리하므로 내부는 HTTP)
- fetch credentials:'same-origin' 명시
- redirect:manual 제거 (opaqueredirect 문제)
- content-type 체크로 비정상 응답 감지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-03-27 02:25:05 +09:00
parent 678e00449a
commit e560a2faa2
2 changed files with 11 additions and 4 deletions
+4 -1
View File
@@ -17,6 +17,9 @@ const sessions = new Map();
const SESSION_COOKIE = 'cm_session';
const SESSION_MAX_AGE = 24 * 60 * 60 * 1000; // 24시간
// ===== Traefik 프록시 신뢰 =====
app.set('trust proxy', 1);
// ===== 미들웨어 =====
app.use(express.json({ limit: '50mb' }));
app.use(express.urlencoded({ extended: true }));
@@ -73,7 +76,7 @@ app.post('/login', (req, res) => {
res.cookie(SESSION_COOKIE, token, {
httpOnly: true,
secure: process.env.NODE_ENV === 'production',
secure: false,
sameSite: 'lax',
maxAge: SESSION_MAX_AGE,
});