인프런 커뮤니티 질문&답변
[공유목적] nginx 설정 후 쿠키가 전달되지 않을 경우
해결된 질문
작성
·
2.4K
·
수정됨
1
작성한 이유(저는 이 문제로 골머리를 앓았어서..)
도메인 설정 후 쿠키가 전달되지 않아 로그인이 되지 않았다가 해결되었습니다
session설정 뿐만 아니라nginx설정도 확인해야 합니다혹시라도 이 문제로 고통받으시는 분이 있다면 해결책이 되길 바랍니다
back쪽 session 설정
if (process.env.NODE_ENV === "production") {
app.use(morgan("combined"));
app.use(hpp());
app.use(helmet());
app.set("trust proxy", 1); //배포 시 추가
app.use(
cors({
origin: "https://engword.shop", //local "http://localhost:3000"
credentials: true,
})
);
} else {
app.use(morgan("dev"));
app.use(
cors({
origin: true,
credentials: true,
})
);
}
passportConfig();
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: true, //배포 시 추가
cookie: {
httpOnly: true,
secure: process.env.NODE_ENV === "production" ? true : false, //https 적용 시 true
sameSite: process.env.NODE_ENV === "production" ? "none" : false,
domain: process.env.NODE_ENV === "production" && ".engword.shop",
},
})
);
nginx 설정
back 에서 설정한 nginx입니다
sudo vim /etc/nginx/nginx.conf
server {
server_name api.engword.shop;
location / {
proxy_set_header HOST $host;
//추가
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.0:3000 //http로 설정할 것
proxy_redirect off;
}
//아래는 certbot 내용
}위와 같이 설정을 바꾼 후 nginx를 다시 실행합니다
sudo systemctl restart nginx
pm2로 진행 시 pm2를 껏다 키거나, pm2 재시작을 하시면 됩니다.
pm2 껏다 키는 경우
sudo npx pm2 kill
npm start (혹은 sudo npm start)
pm2 재시작
sudo npx pm2 reload all
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




