inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

새로고침 로그인 풀림-쿠키 공유 문제

해결된 질문

1714

jihwoon park

작성한 질문수 4

0

안녕하세요, 강사님!

AWS로 서버를 옮겨서 서버를 실행하면 로그인 풀림 현상이 계속됩니다.  EC2 백서버에서 samesite="none" secure:true를 적용을 해줬고, domain도 지정했고, nginx로 https 설정을 했는데도 여전히 새로고침을 하면 로그인이 풀립니다. application탭에 쿠키도 보이지 않습니다. 제 코드에 문제가 있는 거 같아서 제로초 강사님 코드를 다운받아서 AWS EC2에 설치를 하고  .env와 url을 수정하여 서버를 실행해도 동일하게 로그인 풀림 현상이 지속되고 있습니다. 어떻게 문제를 해결할 수 있을까요?

back서버 > app.js

if (process.env.NODE_ENV === 'production') {
  app.enable('trust proxy');
  app.use(morgan('combined'));
  app.use(hpp());
  app.use(helmet({ contentSecurityPolicy: false }));
  app.use(cors({
    origin: 'https://aserang.com',
    credentials: true,
  }));
else {
  app.use(morgan('dev'));
  app.use(cors({
    origin: true,
    credentials: true,
  }));
}
app.use('/'express.static(path.join(__dirname'uploads')));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(session({
  saveUninitialized: false,
  resave: false,
  secret: process.env.COOKIE_SECRET,
  proxy: process.env.NODE_ENV === 'production',
  cookie: {
    httpOnly: true,
    secure: process.env.NODE_ENV === 'production',
    domain: process.env.NODE_ENV === 'production' && '.aserang.com'
  },
}));
app.use(passport.initialize());
app.use(passport.session());

front 서버 > config.js

export const backUrl = process.env.NODE_ENV === 'production' ? 'https://api.aserang.com' : 'http://localhost:3065';

chrome 개발자도구 Network창

쿠키공유 로그인풀림 redux nodejs react express Next.js

답변 2

0

jihwoon park

front > package.json

"scripts": {
    "dev""next -p 3060",
    "build""cross-env ANALYZE=true NODE_ENV=production next build",
    "start""cross-env NODE_ENV=production next start -p 3060"
 },

back > package.json

"scripts": {
    "dev""nodemon app",
    "start""cross-env NODE_ENV=production pm2 start app.js"
 },

강사님 코드 package.json에 있는거 그대로 사용했고, EC2에서 실행할때도 동영상에서 알려주신대로 root 권한으로 실행을 했습니다. 

front > npx pm2 start npm -- start

back > npm start

0

제로초(조현영)

로그인의 response header에 set-cookie가 있어야 하는데 없는걸로 보아서는 cookie 문제이긴 합니다. /user/login의 response에 로그인한 사용자의 정보는 들어있나요?

0

jihwoon park

/user/login의 response에 로그인한 사용자의 정보 => 가 Request Payload를 의미하는 건가요? Request Payload에 정보는 들어가 있고, back서버 mysql db에도 저장이 잘 됩니다.

0

제로초(조현영)

아뇨 headers 탭 오른쪽 preview 탭에 로그인한 사용자가 들어가는지 여쭤본거고요. db에 저장된 것은 회원가입이라서 이 경우와는 크게 상관이 없습니다.

0

제로초(조현영)

아 근데 sameSite: none 하셨다 했는데 이것도 적용되어 있나요?

0

jihwoon park

 사용자 정보가 들어있습니다. 그리고 sameSite:none은 넣지 않았습니다. 강사님 코드를 그대로 다운받아서 실행을 했습니다.

0

제로초(조현영)

 nginx 설정 문제로 보입니다. proxy하면서 proxy관련 헤더 설정을 넣어주셨나요? location 내부

0

jihwoon park

nginx 설정입니다

front > /etc/nginx/nginx.conf

back > /etc/nginx/nginx.conf

0

제로초(조현영)

설정을

https://www.zerocho.com/category/NodeJS/post/5ef450a5701d8a001f84baeb

참고해서 $scheme 같은 부분 더 추가해보세요.

0

jihwoon park

링크걸어주신 사이트에서 적은대로  niginx 설정을 수정했더니 쿠키 공유가 되었습니다. 감사합니다.

0

제로초(조현영)

실행하실 때 NODE_ENV=production 이거 넣어서 실행하셨나요?

넥스트 버젼 질문

0

90

2

로그인시 401 Unauthorized 오류가 뜹니다

0

104

1

무한 스크롤 중 스크롤 튐 현상

0

192

1

특정 페이지 접근을 막고 싶을 때

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

인라인 스타일 리렌더링 관련

0

98

2

vsc 에서 npm init 설치시 오류

0

157

2

nextjs 15버전 사용 가능할까요?

0

166

1

화면 새로고침 문의

0

129

1

RTK에서 draft, state 차이가 있나요?

0

160

2

Next 14 사용해도 될까요?

0

455

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

359

1

url 오류 질문있습니다

0

217

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

478

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

255

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

338

1

npm run build 에러

0

525

1

front 서버 npm run build 중에 발생한 에러들

0

399

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

350

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

290

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

249

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

206

1