강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

huhu님의 프로필 이미지
huhu

작성한 질문수

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

nginx와 콘솔 에러 해결하기

Response Cookies가 뜨지 않습니다.

작성

·

296

0

app.js에

app.set('trust proxy', 1);

세션쪽에 proxy: true,

cookie엔 secure: true

다 적고

/etc/nginx/nginx.conf에

proxy_set_header X-Forwarded-Proto $scheme;

추가했는데 새로고침하면 로그인이 풀립니다.

그래서 네트워크를 살펴봤더니

아래와 같이 응답을 하지 않습니다...

퀴즈

NGINX를 Node.js 서버 앞에 두는 주된 목적은 무엇일까요?

Node.js 앱을 직접 실행하기 위함

HTTPS 처리, 리다이렉트, 정적 파일 제공 등

Node.js 서버를 완전히 대체하기 위함

복잡한 비즈니스 로직을 추가하기 위함

답변 1

0

huhu님의 프로필 이미지
huhu
질문자

back쪽 monit으로 살펴보니 에러가 있었습니다.

/root/.pm2/logs/app-error.log last 15 lines:

0|app      |     at listenInCluster (net.js:1379:12)

0|app      |     at Server.listen (net.js:1465:7)

0|app      |     at Function.listen (/home/ubuntu/react_nodebird/back/node_modules/express/lib/application.js:618:24)

0|app      |     at Object.<anonymous> (/home/ubuntu/react_nodebird/back/app.js:81:5)

0|app      |     at Module._compile (internal/modules/cjs/loader.js:1085:14)

0|app      |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)

0|app      |     at Module.load (internal/modules/cjs/loader.js:950:32)

0|app      |     at Function.Module._load (internal/modules/cjs/loader.js:790:12)

0|app      |     at Object.<anonymous> (/home/ubuntu/react_nodebird/back/node_modules/pm2/lib/ProcessContainerFork.js:33:23) {  

0|app      |   code: 'EADDRINUSE',

0|app      |   errno: -98,

0|app      |   syscall: 'listen',

0|app      |   address: '::',

0|app      |   port: 3065

0|app      | }

 

0|app  | Warning: connect.session() MemoryStore is not

0|app  | designed for a production environment, as it will leak

0|app  | memory, and will not scale past a single process.

0|app  | Error: listen EADDRINUSE: address already in use :::3065

0|app  |     at Server.setupListenHandle [as _listen2] (net.js:1331:16)

0|app  |     at listenInCluster (net.js:1379:12)

0|app  |     at Server.listen (net.js:1465:7)

0|app  |     at Function.listen (/home/ubuntu/react_nodebird/back/node_modules/express/lib/application.js:618:24)

0|app  |     at Object.<anonymous> (/home/ubuntu/react_nodebird/back/app.js:81:5)

0|app  |     at Module._compile (internal/modules/cjs/loader.js:1085:14)

0|app  |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)

0|app  |     at Module.load (internal/modules/cjs/loader.js:950:32)

0|app  |     at Function.Module._load (internal/modules/cjs/loader.js:790:12)

0|app  |     at Object.<anonymous> (/home/ubuntu/react_nodebird/back/node_modules/pm2/lib/ProcessContainerFork.js:33:23) {      

0|app  |   code: 'EADDRINUSE',

0|app  |   errno: -98,

0|app  |   syscall: 'listen',

0|app  |   address: '::',

0|app  |   port: 3065

0|app  | }

이미 사용중인 포트라고 에러가 나는 것 같아

PID kill과 pm2 kill을 하였으나 같은 에러가 발생합니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

sudo pm2 kill로 종료한 후 다시 해보세요.

huhu님의 프로필 이미지
huhu
질문자

해봐도 같은 에러가 납니다ㅠㅠ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

3065를 실행한 건 pm2이므로 pm2를 종료하지 않는 이상 계속 3065번을 쓰고 있을 수밖에 없습니다. sudo 로 시작했으면 sudo로 끝내야하는데 이게 안 되면 서버 재부팅해서 껐다 켜는수밖에 없을 것 같네요.

huhu님의 프로필 이미지
huhu
질문자

인스턴스를 중지하려다 종료를 해버렸네요..........강의 보면서 다시 해야겠습니다ㅠㅠㅠ!

huhu님의 프로필 이미지
huhu

작성한 질문수

질문하기