Skip to content

feat: 출시 전 서버 기능과 보안 보강 - #21

Merged
manNomi merged 10 commits into
mainfrom
agent/gcp-production-release
Aug 11, 2026
Merged

feat: 출시 전 서버 기능과 보안 보강#21
manNomi merged 10 commits into
mainfrom
agent/gcp-production-release

Conversation

@manNomi

@manNomi manNomi commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

작업 내용

  • 업로드 엔드포인트 인증과 경로 탐색 방지, 파일 시그니처 및 MIME 검증을 보강했습니다.
  • 로그인과 회원가입, 토큰 갱신 요청에 계정 및 IP 기준 이중 rate limit을 적용했습니다.
  • production 개발 라우트를 제거하고 실패한 업로드의 고아 파일 정리를 보완했습니다.
  • 개인정보 처리방침과 이용약관, 고객지원 페이지를 서버에 추가했습니다.
  • 운영 장소 카탈로그 시드와 추천 요청의 HTTPS 전송 조건을 보완했습니다.
  • 리캡 마커 조회가 요청 반경을 따르도록 테스트 기대값을 수정했습니다.
  • 서버 배포는 별도 담당자가 관리하므로 기존 EC2 CD와 새 GCP CD 워크플로를 모두 제거했습니다.
  • 수동 배포에서 API 포트를 노출하고 프록시 구성에 맞춰 신뢰할 홉 수를 명시하도록 보완했습니다.

검증

  • pnpm install --frozen-lockfile
  • pnpm db:generate
  • pnpm typecheck
  • pnpm build
  • pnpm test:coverage (54개 통과, 14개 제외)
  • pnpm check:openapi-sync (63개 operation)
  • pnpm check:no-spotify-metadata
  • pnpm check:production-env
  • docker compose -f docker-compose.prod.yml config

참고

  • 배포 자동화와 인프라별 배포 문서는 이 PR 범위에 포함하지 않습니다.
  • 서버를 직접 노출하면 TRUST_PROXY_HOPS=0을 유지하고 리버스 프록시 뒤에서는 실제 프록시 홉 수를 지정해야 합니다.
  • 서버 PR #19와 #20을 대체합니다.
  • 함께 반영할 프론트 PR은 SoundLogTeam/SoundLogApp#22입니다.

manNomi and others added 3 commits August 1, 2026 19:30
Moves production deployment from AWS EC2 to a GCP Compute Engine VM
running the same Postgres+API Docker Compose stack. Caddy now
terminates HTTPS for api.soundlog.shop directly on the VM instead of
relying on the Vercel proxy trick EC2 needed for TLS.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- dev DB 테스트 라우트를 production에서 제거하고 비-production에서도 인증 필수화
- 업로드 사진 조회를 소유권/공개여부 기반 인증 엔드포인트(GET /v1/uploads/:fileId)로 전환,
  path traversal 차단, 매직바이트 기반 Content-Type 검증, 업로드 MIME 화이트리스트 적용
- 로그인/회원가입/refresh에 계정+IP 이중 rate limit 적용
- 이미지 교체 시 고아 업로드 파일 정리 로직 보강

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@manNomi
manNomi marked this pull request as ready for review August 1, 2026 11:15
@manNomi manNomi changed the title feat: GCP production 배포와 출시 전 보안 보강 feat: 출시 전 서버 기능과 보안 보강 Aug 11, 2026
@manNomi
manNomi merged commit baa4da5 into main Aug 11, 2026
1 check passed
@manNomi
manNomi deleted the agent/gcp-production-release branch August 11, 2026 06:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant