상황
회원가입 페이지 생성 후 클라이언트/서버/데이터베이스 실행한 다음
회원가입 페이지에 접속하여 email, username, password 작성하고 Sign Up 하면 CORS 에러 발생



에러 메시지

Access to XMLHttpRequest at 'http://localhost:4000/api/auth/register' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

서버쪽에도 404에러 뜸
404 오류는 웹 서버가 요청된 리소스를 찾지 못했을 때 나타나는 HTTP 상태코드로, '페이지를 찾을 수 없음' 오류라고도 함
원인
프론트와 백엔드의 origin이 달라서 에러 발생
해결 방법
- 백엔드에 cors 모듈 설치
- server.ts에 '클라이언트에서 요청을 보내오는 origin' 등록
npm install cors --save
npm i --save-dev @types/cors
import cors from 'cors';
const origin = "http://localhost:3000";
app.use(
cors({
origin,
})
);
다시 서버 실행시켜주면

이메일, 유저네임, 패스워드 입력 후 회원가입하면 CORS에러 안뜨고

백엔드에 email 로그 뜨는 것을 볼 수 있음

'Trouble Shooting' 카테고리의 다른 글
AWS EC2 멈춤 현상 (메모리 이슈) (3) | 2024.09.02 |
---|---|
pm2 사용하여 서버 실행 시 net::ERR_SSL_PROTOCOL_ERROR, net::ERR_CONNECTION_RESET 발생 (0) | 2024.09.02 |
[DB] Docker Postgres 실행 시 permission error (0) | 2024.06.08 |