해결된 질문
작성
·
2.1K
·
수정됨
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",
},
})
);
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 내용
}
sudo systemctl restart nginx
pm2
로 진행 시 pm2
를 껏다 키거나, pm2 재시작을 하시면 됩니다.pm2 껏다 키는 경우
sudo npx pm2 kill
npm start (혹은 sudo npm start)
pm2 재시작
sudo npx pm2 reload all
답변