• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

EC2로 배포하니까 express-session에 저장한 데이터가 사라집니다.

24.01.31 16:48 작성 24.01.31 16:54 수정 조회수 125

0

로컬에서는 세션의 데이터가 안 사라지는데 EC2로 배포하니까 세션에 저장한 데이터가 사라집니다.

 

app.use(
  session({
    secret: process.env.SESSION_SECRET!,
    resave: false,
    saveUninitialized: false,
    store: MongoStore.create({ mongoUrl: process.env.DATABASE_URL }),
    cookie: {
      httpOnly: true,
      secure: true,
      domain: ".example.shop",
    },
  })
);

 

예를 들어 아래와 같이 코드를 작성하면

app.get("/apple", (req, res) => {
  (req.session as any).apple = "apple";
  console.log("apple", req.session);
  res.send("apple");
});

app.get("/banana", (req, res) => {
  console.log("banana", req.session);
  res.send("banana");
});

/apple 에서는 세션에 apple이 저장되어 보이는데 /banana 에서 세션을 조회하면 쿠키 말고는 아무 것도 없습니다.

 

근데 mongodb에서 session 확인하면 저장은 잘되어 있습니다. 

 

제가 뭘 놓친 걸까요?

 

답변 1

답변을 작성해보세요.

0

두 라우터에 req.cookies를 찍어서 connect.sid가 서로 같나 비교해보세요.

그리고 도메인이 지금 저기에 지정한 example.shop 맞나요?