현재서비스 구조 확인:
Browser → nginx (port 80) → FastAPI (port 8000) → Templates (Jinja2)
📋 현재 서비스 특성:
1. SSR (Server-Side Rendering): FastAPI + Jinja2 템플릿
2. Same-Origin: 브라우저 요청과 응답이 모두 같은 도메인 (http://xx.xx.xx.xx)
3. HTMX 사용: 일부 동적 업데이트만 AJAX
🎯 CORS가 필요한 경우 vs 불필요한 경우:
CORS가 필요한 경우:
- SPA (React, Vue, Angular)에서 다른 도메인 API 호출
- http://frontend.com → http://api.com 호출
CORS가 불필요한 경우:
- SSR 웹앱 (Django, Flask, FastAPI + Templates)
- Same-Origin 요청: http://00.00.00.00 → http://00.00.00.00
✅ 결론: CORS 설정 불필요!
이유:
1. Same-Origin 정책: 모든 요청이 http://내주소 에서 시작되어 같은 도메인으로
전송
2. SSR 구조: HTML이 서버에서 렌더링되어 브라우저로 전송
3. HTMX 요청도 Same-Origin: 페이지 내에서 같은 도메인으로 요청
현재 CORS 설정은 무시됨:
- nginx가 프록시 역할을 하므로 FastAPI는 nginx로부터만 요청을 받음
- 브라우저는 nginx와만 통신하므로 CORS 검사 없음
'Tech & IT > 개발환경세팅하기' 카테고리의 다른 글
웹서버 만들기 Nginx, FastAPI 역할과 구조 및 기능 설명 (0) | 2025.09.11 |
---|---|
클로드 코드 사용량이 많아지다보면 느려터지는데 원인 및 해결하기 (0) | 2025.09.10 |
파이썬으로 유튜브 데이터 얻으려고 YouTube Data API v3 (0) | 2025.09.10 |
맥북에서 클로드 코드 사용시 화면꺼짐 방지하는 방법 (0) | 2025.09.09 |
누구나 할수있는 간단한 안드로이드 App 만들기, 2편 Hello World 출력하기 (0) | 2017.06.01 |