inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

도메인 연결하기

새로고침시 로그인 풀림 현상

865

거휘

작성한 질문수 9

0

무료 도메인을 이용하여 수강중입니다.

 

로그인 풀림 현상에 대해 강의를 보고 따라하여도 풀리고 있으며

새로고침 후 재로그인시 아래 스샷과 같은 증상을 보이고 있습니다. 

 

그리고 SetCookie에서 이상하게 domain이 표시되지 않고 있는데요.

 

app.js 에는 잘 입력해놓은 상태입니다.

무엇이 문제 일까요??

 

const express = require('express');
const cors = require('cors');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const passport = require('passport');
const dotenv = require('dotenv');
const morgan = require('morgan');
const path = require('path');
const hpp = require('hpp');
const helmet = require('helmet');

dotenv.config();

const postRouter = require('./routes/post');
const postsRouter = require('./routes/posts');
const userRouter = require('./routes/user');
const hashtagRouter = require('./routes/hashtag');
const db = require('./models');
const passportConfig = require('./passport');

const app = express();

db.sequelize.sync()
    .then(() => {
        console.log('db 연결 성공');
    })
    .catch(console.error);

passportConfig();

if (process.env.NODE_ENV === 'production') {
    app.use(morgan('combined'));
    app.use(hpp());
    app.use(helmet());
    app.use(cors({
        origin: 'http://rjgnl.ek.ag',
        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,
    cookie: {
        httpOnly: true,
        secure: false,
        domain: process.env.NODE_ENV === 'production' && '.rjgnl.ek.ag'
    }
}));
app.use(passport.initialize());
app.use(passport.session());

app.get('/', (req, res) => {
    res.send('hello express');    
})

app.use('/post', postRouter);
app.use('/posts', postsRouter);
app.use('/user', userRouter);
app.use('/hashtag', hashtagRouter);

app.listen(80, () => {
    console.log('서버 실행 중');
});

 

pm2 백서버로그에선 저런 표시가 나오고 있습니다. 

 

 

 

nodejs redux express react Next.js

답변 1

0

제로초(조현영)

서버 배포하실 때 어떤 명령어로 배포하셨나요?

NODE_ENV=production 이 적용되지 않은 것 같아보입니다.

0

거휘

적용확인 하는 방법이 어떻게 될까요?? next.config.js 코드를 확인하면 되나요??

front package.json 스크립트는 production 80번 포트로 start 명령어 설정 되어 있습니다.

 

withCredentials=true 도 잘 적용하였습니다.

네트워크 탭 로그인 성공시 cookies에는 응답 요청 정보가 다 들어가있고 새로고침 후 로그인 시도시에는 응답만 가고 요청은 가고 있지 않습니다.

application cookies에는 로그인 성공시에도 쿠키 정보가 들어가있지 않은 상태입니다.

0

제로초(조현영)

connect.sid의 domain이 api.rjgnnl.ek.ag인데요. 

.rijgnl.ek.ag여야 합니다.

앞에 api가 붙어있으면 쿠키가 rjgnl.ek.ag에서는 작동 안합니다.

0

거휘

엇 이상하네요.

위코드처럼 app.js에 도메인 코드는 제대로 입력해놓았습니다.

api.주소로 입력한 코드는 front config.js에만 입력 돼 있는 상태입니다.

어디가 문제 일까요 ㅠㅠ

export const backUrl = 'http://api.rjgnl.ek.ag';

0

제로초(조현영)

이게 https를 적용 안 해서 생기는 문제인지 확신이 들지는 않네요.

console.log('node_env', process.env.NODE_ENV)

이 코드를 app.js에 넣은 후 다시 배포 후 서버 재실행(pm2 reload all) 해서 첫 서버 시작 시 어떻게 콘솔에 찍히나 확인해주세요.(pm2 monit)

0

거휘

콘솔 로그 위치를 제대로 찍은건지 모르겠습니다만 서버 재시작시 백엔드 로그에 node_env가 아래와 같이 undefined로 표시되고 있습니다.

 

선생님 말씀대로 NODE_ENV=production가 적용되지 않은것 같은데 이럴 경우 어디서 문제를 찾아야 될까요

0

제로초(조현영)

실행한 명령어 보여주세요(package.json)

0

거휘

우분투 프론트서버에선 sudo npm run build 후 sudo npx pm2 start npm -- start

백서버에선 sudo npx pm2 start app.js로 합니다.

0

제로초(조현영)

백서버에서 sudo npm start 하셔야 합니다.

0

거휘

말도 안되는 실수를 하고 있었네요 ㅠㅠ.. 덕분에 바로 정상적으로 동작하게 됐습니다. 소중한 시간 내주셔서 감사합니다!

넥스트 버젼 질문

0

90

2

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

0

104

1

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

0

192

1

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

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

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

0

97

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

214

1

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

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

477

1

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

0

255

1

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

0

337

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