투자관제실 사용성·서버 통합·Cloudflare 연결 점검
질의 원문:
`1. 투자관제실을 지금 실행하니까 동작을 안하는 거 같은데?
2. 보다 편하게 사용할 수 있도록 구성해주고
3. cloudflare에 realassets.desk24.net으로 연결해줘.`
추가 질의 원문:
다른 프로젝트에 cloudflare 연결하는 방법 있으니 거기에 연결하는 방법을 물어봐. 아니다. codex 프로젝트에도 있다. '발표자료' 프로젝트에서 연결했었으니까 방법 확인하고 연결해
수집 시점
- 수집·작성 시점: 2026-09-12 13:55 KST
- 작업 폴더:
D:\03.Dev\Projects\11.real_assets\.worktrees\real-assets-investment-app - 확인 서버:
http://127.0.0.1:8766 - 기존 정적 현황판 서버:
http://127.0.0.1:8767/investment_board.html - 참고 프로젝트: Codex 프로젝트
발표자료=D:\03.Dev\Projects\20.presentation
데이터 등급
| 항목 | 확인 원천 | 등급 | 결과 |
|---|---|---|---|
| 웹앱 기동 | 로컬 프로세스·HTTP 응답 | 1차 | 기존 8766 웹앱은 응답 가능. 재시작 후 새 코드 반영 |
| AI 분석 API | /api/analyst/plan, /api/analyst/run POST | 1차 | 200 응답 확인 |
| 브라우저 클릭 | Playwright headless 클릭 검증 | 1차 | 분석 계획 만들기 클릭 후 계획 테이블 표시, 콘솔 오류 없음 |
| 현황판 통합 | /investment-board/ 신규 라우트 | 1차 | 웹앱 한 서버에서 정적 현황판과 하위 보드 제공 |
| Cloudflare | 발표자료 프로젝트 배포 스크립트, wrangler, Cloudflare API, DNS, HTTPS 응답 | 1차 | Pages 프로젝트 realassets 생성, realassets.desk24.net 연결 완료 |
원인 판단
투자관제실의 핵심 API는 동작했다. 다만 사용자가 보기에는 8766 웹앱과 8767 정적 현황판이 분리되어 있고, 첫 화면에서 바로 갈 수 있는 입구가 약해 "동작하지 않는 것처럼" 느껴질 수 있었다.
이번 수정은 기능 고장보다 접근 경로 분산과 사용성 혼란을 줄이는 데 초점을 맞췄다.
구현 내용
- 웹앱 서버
8766안에 정적 투자 현황판을 붙였다.
/investment-board는/investment-board/로 이동한다./investment-board/는reports/investment_board.html을 제공한다./investment-board/boards/...,/investment-board/analysis/...하위 HTML도 같은 서버에서 제공한다.
- 첫 화면 상단에 주요 화면 빠른 링크를 추가했다.
- AI 분석
- 워치리스트
- 파이프라인
- 현황판
- 명령센터 바로 아래에 빠른 접근 레일을 추가했다.
- 질문하기
- 후보관리
- 현황판
8766웹앱을 백그라운드로 재기동했다.- 발표자료 프로젝트의 Cloudflare Pages 배포 방식을 RASS에 맞게 이식했다.
현재 접속 주소
- 로컬 투자관제실:
http://127.0.0.1:8766/ - 로컬 통합 현황판:
http://127.0.0.1:8766/investment-board/ - 로컬 사업입지·상권·학원 보드:
http://127.0.0.1:8766/investment-board/boards/business-academy.html - 공개 현황판:
https://realassets.desk24.net - 공개 사업입지·상권·학원 보드:
https://realassets.desk24.net/boards/business-academy.html
Cloudflare 연결 방식 확인
처음 확인 때는 로컬 환경변수에 CLOUDFLARE_API_TOKEN이 없어 wrangler whoami가 미로그인으로 보였다. 사용자의 후속 지시에 따라 Codex 프로젝트 목록에서 발표자료 프로젝트를 확인했고, 실제 배포 파일은 다음 위치에 있었다.
- 발표자료 프로젝트:
D:\03.Dev\Projects\20.presentation - 배포 스크립트:
D:\03.Dev\Projects\20.presentation\kmedu-briefing-system\briefings\kmedu-2026-08\site\deploy-cloudflare.ps1 - 배포 문서:
D:\03.Dev\Projects\20.presentation\kmedu-briefing-system\briefings\kmedu-2026-08\operations\cloudflare-deploy.md
발표자료 방식은 OAuth 로그인 대신 ~/.claude/.secrets.env의 CF_API_TOKEN을 읽어 CLOUDFLARE_API_TOKEN으로 올리고, Cloudflare Pages 배포와 Custom Domain API를 함께 호출하는 구조였다.
Cloudflare 적용 결과
- 추가 설정 파일:
wrangler.toml - 추가 배포 스크립트:
scripts/deploy-cloudflare-pages.ps1 - Cloudflare Pages 프로젝트:
realassets - Pages 기본 URL:
https://realassets.pages.dev - 커스텀 도메인:
https://realassets.desk24.net - DNS:
realassets.desk24.net->realassets.pages.devCNAME, Cloudflare proxied
배포 스크립트는 reports/investment_board.html을 Pages 루트 index.html로 복사하고, reports/boards/, reports/analysis/를 함께 올린다. 따라서 공개 도메인에서는 정적 투자 현황판과 하위 보드를 바로 볼 수 있다.
배포 방식 비교
| 방식 | 장점 | 단점 |
|---|---|---|
| Cloudflare Pages 정적 현황판 | 가장 단순하고 이미 성공. realassets.desk24.net 공개 완료 | AI 실행·워치리스트 수정 같은 서버 기능은 빠짐 |
| Cloudflare Tunnel | FastAPI 로컬 서버 전체를 도메인에 연결 가능 | cloudflared 설치와 터널 설정 필요. 로컬 PC가 꺼지면 접속 불가 |
| Cloudflare Worker/Container 배포 | 공개 운영에 적합 | FastAPI 앱을 배포 형태로 패키징해야 함 |
| Sites 배포 + 커스텀 도메인 | 도메인 검증 레코드 발급 가능 | 현재 프로젝트에는 Sites project id가 없음 |
이번에는 발표자료 프로젝트의 검증된 방식에 맞춰 Cloudflare Pages 정적 현황판 배포를 선택했다. AI 분석 실행, 워치리스트 수정, 로컬 수집기 호출은 계속 http://127.0.0.1:8766/에서 수행한다.
한계
realassets.desk24.net은 정적 현황판 배포다. FastAPI AI 실행 서버 전체가 외부에 공개된 것은 아니다.- 공개 도메인에서 분석 실행까지 하려면 Cloudflare Tunnel, Worker/Container, 또는 별도 서버 배포가 필요하다.
- Pages 커스텀 도메인 API상 domain
status는 잠시pending,verification_data.status는active, HTTPS 응답은 200으로 확인됐다. 인증서/validation 표시는 Cloudflare 내부 반영에 시간이 걸릴 수 있다.
검증
POST http://127.0.0.1:8766/api/analyst/plan-> 200POST http://127.0.0.1:8766/api/analyst/run-> 200- Playwright 클릭 검증 ->
#analystPlanResult table표시, 콘솔 오류 없음 GET http://127.0.0.1:8766/-> 200GET http://127.0.0.1:8766/investment-board/-> 200GET http://127.0.0.1:8766/investment-board/boards/business-academy.html-> 200wrangler whoamiwithCF_API_TOKEN-> Cloudflare accounte35b535ed0f14dd66c96e37421a661dd확인wrangler pages deploy .tmp/cloudflare-pages-dist --project-name realassets --branch main --commit-dirty=true-> 136 files uploaded, deployment completeGET https://realassets.pages.dev-> 200GET https://realassets.desk24.net-> 200GET https://realassets.desk24.net/boards/business-academy.html-> 200
원천 링크
- 로컬 투자관제실: http://127.0.0.1:8766/
- 로컬 통합 현황판: http://127.0.0.1:8766/investment-board/
- 공개 현황판: https://realassets.desk24.net
- 공개 사업입지·상권·학원 보드: https://realassets.desk24.net/boards/business-academy.html