개발 일기장/개발 일상
작지만 뿌듯한 경험
희랍인 조르바
2022. 1. 28. 13:14
이제까지 공식 다큐먼트가 틀릴 수도 있을거라는 의심은 해본 적이 없었다.
현재 회사에서 Spring이 아닌 Jetbrains에서 만든 프레임워크인 Ktor를 사용하고 있다.
회사 프론트엔드 개발자분이 서버에서 403이 발생한다고 문의가 들어왔다.
curl로 날리면 정상동작하는데 스웨거 UI에서 요청을 날리면 403이 발생하고 있었고, 서버에 CORS를 적용한 다음날이었다.
CORS 이슈일거라 의심하고 보다보니 왜 안되는지 알 수 없어 일단 허용할 수 있는 설정을 다 추가해보니 동작했다.
소거법으로 하나하나씩 제거하면서 원인이 되는 설정을 찾아보았다. 찾아보니 헤더에 ContentType의 허용이 없으면 CORS가 발생했다.
응? 근데 공식 다큐먼트에서는 default로 ContentType을 제공한다고 했는데?란 생각으로 Ktor의 CORS 설정 코드를 까보니
다른 설정(allowNonSimpleContentTypes)이 true일때, ContentType이 제공되는 것으로 보였다. 그런데 이 설정의 기본값은 false였기에 default로 제공될 수 없었다.
이미 생태계가 엄청나게 발전한 Spring만 써오다보니 프레임워크나 문서에 오류가 있었다면, 진작에 다른 사람들이 다 리포트해서 내가 피드백을 줄 여지가 없을거라 생각했었다.
저~~ㅇ말 짜잘하지만, 괜시리 뭔가 기여했다는 기분을 느껴서 좋았다.
공식 다큐먼트에 반영되었다!