작성
·
29
0
백엔드 서버는 배포 서버이고
프론트 엔드는 로컬 서버입니다
프론트 엔드 코드에 http-proxy-middleware를 설정해 적었으나
경로가 바뀌지 않는지
로그인 시 refresh 토큰을 저장하는 쿠키가 저장이 되질 않습니다..
samesite=none 설정하라는 오류가 계속 발생하는데
어떻게 해결해야하나요,,?
http-proxy-middleware는 이런식으로 적었습니다
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
createProxyMiddleware({
target: "http://{백엔드 서버IP}:8080",
changeOrigin: true,
})
);
};
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
춤추는성용님, SameSite 쿠키 설정 문제를 해결하려면 몇 가지 사항을 고려해야 합니다.
백엔드 서버에서 SameSite=None
속성을 명시적으로 설정해야 합니다. Spring Boot를 사용하는 경우, application.properties
또는 application.yaml
파일에서 server.servlet.session.cookie.same-site=none
속성을 추가하여 SameSite
속성을 설정할 수 있습니다.
프론트엔드와 백엔드가 다른 도메인에서 작동 중이라면 쿠키의 Secure
속성도 설정해야 할 수 있습니다. 이는 HTTPS가 필요함을 의미하므로 배포 환경에서 유효한 SSL 인증서를 설정하여 HTTPS로 운영되는지 확인하세요.
헤드 요청의 프록시 설정이 잘못되었을 가능성도 있으니, 프록시 서버 설정 또한 확인해 주시고 필요에 따라 아래와 같이 추가적인 헤더를 설정해 볼 수 있습니다.
x-forwarded-for
와 x-forwarded-proto
헤더가 올바르게 설정되어 있는지 확인해야 합니다.여기 Spring Boot Reference 관련 URL을 참고하세요:
- Spring Boot Reference - SameSite Cookies 설정하기
위의 사항을 확인 및 설정해도 문제가 해결되지 않는다면, 로컬과 배포 환경 간의 네트워크 및 보안 설정(예: CORS)을 재확인하는 것도 좋습니다.
추가적인 질문이 있다면 언제든지 문의해 주세요!