Skip to content

fix: SSR 내부 fetch getClientAddress() 500 에러 수정#720

Merged
sdk-kr merged 1 commit into
mainfrom
fix/ssr-internal-fetch-getClientAddress
Mar 19, 2026
Merged

fix: SSR 내부 fetch getClientAddress() 500 에러 수정#720
sdk-kr merged 1 commit into
mainfrom
fix/ssr-internal-fetch-getClientAddress

Conversation

@sdk-kr
Copy link
Copy Markdown
Contributor

@sdk-kr sdk-kr commented Mar 19, 2026

Summary

  • SSR에서 svelteKitFetch()로 내부 API(/api/boards/.../comments, /api/boards/.../files) 호출 시 hooks.server.tsgetClientAddress()가 throw하여 500 에러 발생하던 문제 수정
  • ADDRESS_HEADER=x-real-ip 설정 환경에서 내부 fetch에는 해당 헤더가 없어 발생
  • safeGetClientAddress() 헬퍼를 도입하여 모든 getClientAddress() 호출을 통일, 내부 요청은 rate limiting 건너뜀

영향 범위

  • 댓글 로딩 실패 → 어필리에이트 링크 변환 미실행 (교보문고 등 LinkPrice 머천트)
  • 첨부파일 API 500 에러

Test plan

  • dev 환경 댓글 API 200 OK 확인
  • dev 환경 500 에러 로그 사라짐 확인
  • 운영 배포 후 kubectl logs에서 [Server Error] 500 .../comments 없음 확인
  • 운영에서 교보문고 링크 포함 댓글의 affiliate-badge 생성 확인

ADDRESS_HEADER=x-real-ip 설정 시 SSR 내부 fetch(svelteKitFetch)에는
x-real-ip 헤더가 없어 getClientAddress()가 throw하면서 댓글 API와
파일 API가 500을 반환하던 문제 수정.

safeGetClientAddress() 헬퍼를 도입하여 hooks.server.ts의 모든
getClientAddress() 호출을 통일하고, 내부 요청은 rate limiting을
건너뛰도록 처리.
@github-actions
Copy link
Copy Markdown
Contributor

Staging 배포 완료

URL: https://dev.damoang.net
이미지: staging-43baf31
Static Release: sha-43baf31
커밋: 43baf31

변경사항을 dev.damoang.net에서 확인하세요.

@sdk-kr sdk-kr marked this pull request as ready for review March 19, 2026 05:32
@sdk-kr sdk-kr merged commit 64928e8 into main Mar 19, 2026
13 checks passed
@sdk-kr sdk-kr deleted the fix/ssr-internal-fetch-getClientAddress branch March 19, 2026 05:32
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