206 응답 뒤에 숨은 CORS 오류
음원 API의 302를 따라간 브라우저 요청이 실패한 지점을 찾고, R2의 CORS 정책을 바꾼 뒤 실제 Range 응답으로 확인했습니다.
분류
이 주제로 남긴 기록 7편
음원 API의 302를 따라간 브라우저 요청이 실패한 지점을 찾고, R2의 CORS 정책을 바꾼 뒤 실제 Range 응답으로 확인했습니다.
앱에서 쓰는 쿠키 인증에 출처 검사와 본문 규칙을 적용하고, HTTP 403과 415가 각각 무엇을 검증했는지 살펴봅니다.
분석 서버의 포트를 호스트에 게시하지 않고, 백엔드에서 보낸 빈 요청과 외부 연결 검사로 접근 범위를 확인했습니다.
루트에 전달되지 않는 모듈 로그를 caplog로 직접 받아, 필요한 이벤트가 기록되면서 민감한 값은 빠졌는지 확인했습니다.
필수 필드가 빠졌을 때 요청 전체가 오류 응답에 들어가는 문제와 HTTP 클라이언트의 URL 로그를 막고, 실제 HTTP 요청과 회귀 테스트로 확인했습니다.
DB 전체 조회 권한을 회수하고 회원 테이블의 필요한 열 9개만 허용했습니다. 운영 Grafana의 패널 쿼리와 보호된 열의 접근 거부를 함께 확인했습니다.
구현 전에 녹음 저장소를 GCS에서 R2로 다시 골랐습니다. 분석 서버에 주는 15분 읽기 권한은 그대로 두고 실제 만료와 삭제를 확인했습니다.