티스토리 뷰
반응형
문제 상황
- 직접 http 요청(curl)을 할 경우에는 응답에 CORS 관련 헤더가 적절하게 내려오는데, 하이브리드 앱 웹 뷰에서 그 API를 호출하면 CORS 오류가 발생
- 실제 요청을 수행하는 backend 서버 까지 여러 레이어가 있는 상황
(사용자 요청 --> NGINX --> GATEWAY --> BACKEND SERVER)
문제 접근
- CORS 문제라고 판단하고 관련 헤더가 잘 세팅이 되는 지 확인
- 잘 되는 것 확인 후 로그 분석했지만 딱히 문제 없음
- CORS에 집중해서 직접호출과 웹뷰에서 API 호출을 비교
- 특정 시스템 웹뷰에서 특정 문제가 있는지 확인
- 결국 못찾음...
실제 문제
- CORS랑 전혀 상관없는 nginx의 request body 크기 제한 이슈
- 사이즈가 큰 파일을 request body에 넣어서 생긴 이슈
- nginx는 백앤드 서버로 전달하지 못하고 바로 에러 응답을 반환했고 웹뷰는 CORS 헤더가 없어서 CORS 에러라고 판단
- (테스트로 API 호출하는 것과 실제 API 호출하는 것은 이미지 크기도 달랐음...)
배운 점
- 문제 접근 시 각 레이어별 로그를 확인한다. 그렇게 하나씩 소거해나간다.
- 에러나는 실제 요청과 정상인 테스트 요청의 차이점에 대해서 확인한다.
- CORS 에러라고 하지만 다른 에러일 수 있다.
반응형
'Mistake management' 카테고리의 다른 글
실수 노트 2021-05 새로운 이벤트가 추가되었는데 기존 이벤트의 기능이 남아있어서 사용자에게 혼란을 주었던 상황 (0) | 2021.05.15 |
---|---|
실수 노트 2021-02-17 개발자의 업무와 공유의 중요성 (1) | 2021.02.18 |
실수 노트 2020-08-01 뭉쳐있는 일을 쪼개지 않고 해결하려고 하다가 시간이 오래 걸렸다 (0) | 2020.08.01 |
실수 노트 2020-07-17 (0) | 2020.07.19 |
리펙토링 사실은 리빌딩 실패 사례 (0) | 2016.01.19 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- spring boot
- javascript
- S68
- Bali
- 웹
- container
- 사누르
- Docker
- 발리
- ChatGPT
- html
- sanur
- Clean code
- 객체지향
- AWS
- hands-on
- spring
- 실수노트
- 웹을 지탱하는 기술
- springboot
- ES6
- 개발자
- 독후감
- 도커
- ecma6
- 회고
- AWSKRUG
- 한달살기
- rest
- 컨테이너
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함