diff --git a/.claude/settings.json b/.claude/settings.json index 868df2d..908a71e 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -84,4 +84,4 @@ } ] } -} +} \ No newline at end of file diff --git a/.claude/workflow-version.json b/.claude/workflow-version.json index d87fe3a..f9f4b86 100644 --- a/.claude/workflow-version.json +++ b/.claude/workflow-version.json @@ -1,7 +1,7 @@ { "applied_global_version": "1.6.1", - "applied_date": "2026-03-06", + "applied_date": "2026-03-11", "project_type": "react-ts", "gitea_url": "https://gitea.gc-si.dev", "custom_pre_commit": true -} +} \ No newline at end of file diff --git a/docs/COMMON-GUIDE.md b/docs/COMMON-GUIDE.md index cc84ae5..656f795 100644 --- a/docs/COMMON-GUIDE.md +++ b/docs/COMMON-GUIDE.md @@ -4,7 +4,7 @@ 연동할 수 있도록 정리한 문서이다. 공통 기능을 추가/변경할 때 반드시 이 문서를 최신화할 것. -> **최종 갱신**: 2026-03-01 (CSS 리팩토링 + MapLibre GL + deck.gl 전환 반영) +> **최종 갱신**: 2026-03-11 (KHOA API 교체 + Vite CORS 프록시 추가) --- @@ -1312,6 +1312,25 @@ app.use(helmet({ })); ``` +### Vite 개발 서버 프록시 + +외부 API 이미지의 CORS 문제를 해결하기 위해 `vite.config.ts`에 프록시를 설정한다: + +```typescript +server: { + proxy: { + '/api': { + target: 'http://localhost:3001', + changeOrigin: true, + }, + '/daily_ocean': { + target: 'https://www.khoa.go.kr', + changeOrigin: true, + }, + }, +}, +``` + 적용되는 보안 헤더: - `X-Content-Type-Options: nosniff` (MIME 스니핑 방지) - `X-Frame-Options: DENY` (클릭재킹 방지) diff --git a/docs/DEVELOPMENT-GUIDE.md b/docs/DEVELOPMENT-GUIDE.md index 7029ed8..429d75e 100644 --- a/docs/DEVELOPMENT-GUIDE.md +++ b/docs/DEVELOPMENT-GUIDE.md @@ -657,6 +657,7 @@ Settings -> Actions -> Secrets -> Add Secret - API 호출이 CORS 에러를 발생시키면 백엔드 `FRONTEND_URL` 환경변수를 확인한다. - 개발 환경에서는 `localhost:5173`, `localhost:5174`, `localhost:3000`이 자동 허용된다. +- KHOA 해양 이미지(`/daily_ocean`)는 Vite 프록시 경유: `vite.config.ts` → `proxy` 설정 확인 **타입 에러:**