CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)는 한 **출처(origin)**의 웹 페이지가 다른 출처의 API를 호출할 수 있는지 제어하는 브라우저 보안 메커니즘입니다. FastAPI는 내장 **CORSMiddleware**로 이를 구성합니다. 다른 도메인/포트의 프론트엔드가 API를 호출할 때마다 CORS를 마주하게 됩니다.
CORS가 다루는 문제
http://localhost:3000의 React 앱이 http://localhost:8000의 API를 호출하는 것은
교차 출처(다른 포트)입니다. 브라우저는 API가 그 출처를 허용하는 CORS 헤더를
보내지 않는 한 응답을 차단합니다.
(origin = scheme + host + port)
CORSMiddleware 구성
fastapi.middleware.cors CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=[, ],
allow_credentials=,
allow_methods=[],
allow_headers=[],
)
