DevTool Hub
Error Guide

CORS error: No "Access-Control-Allow-Origin" header

서버가 교차 출처 요청을 허용하지 않아 브라우저가 요청을 차단했습니다.

CORSheaderorigin

에러 메시지 예시

No 'Access-Control-Allow-Origin' header is present
Blocked by CORS policy

무슨 의미인가요?

서버가 교차 출처 요청을 허용하지 않아 브라우저가 요청을 차단했습니다.

자주 발생하는 원인

  • CORS 헤더 누락
  • 허용되지 않은 Origin으로 요청
  • 서버 CORS 설정 오류
  • credentials 설정 불일치

빠른 해결 방법

  1. 서버에 CORS 헤더를 활성화합니다.
  2. Access-Control-Allow-Origin을 설정합니다.
  3. 허용된 메서드/헤더를 확인합니다.
  4. 필요 시 백엔드 프록시를 사용합니다.

확인 방법

네트워크 탭에서 응답 헤더에 CORS 허용 값이 포함됐는지 확인합니다.

예제 코드

// Express 예시
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', 'https://your-frontend.com');
  res.header('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
  res.header('Access-Control-Allow-Credentials', 'true');
  if (req.method === 'OPTIONS') return res.sendStatus(204);
  next();
});

FAQ

Q. Postman에서는 되는데 브라우저에서만 실패하나요?
A. CORS는 브라우저 보안 정책이며 Postman은 적용되지 않습니다.
Q. CORS를 끄면 안전한가요?
A. 아니요. 로컬 테스트 목적 외에는 권장하지 않습니다.

관련 가이드

다음 읽을 글