이슈 창고(5)
-
[이슈] 양방향 암/복호화 이슈
모든 개발 기능들을 마무리하고 기존에 운영중이던 단방향 비밀번호 암호화를 양방향으로 바꿔달라는 요청이 발생되어 진행하는 도중에 복호화가 정상적으로 수행되지 않는 이슈가 발생하였습니다. javax.crypto.BadPaddingException: Given final block not properly padded ~ 에러가 발생하면서 복호화 시 사용되는 키값이 암호화할 때 사용되던 키와 일치하지 않다고 계속해서 에러가 발생되었습니다. 문제 발생 이전 양방향 암호화 Config 클래스@Slf4j@Componentpublic class AES128Config { private static final Charset ENCODING_TYPE = StandardCharsets.UTF_8; privat..
2024.08.22 -
[이슈] 배포 서버 웹 서버 사용량 MAX로 인한 이슈
완료되어 배포되는 중이던 프로젝트가 갑자기 도중 2달간 유지되었던 배포 서버의 웹 서버 사용량이 꽉 차서 프로젝트를 새롭게 빌드하거나 올릴 수 없는 상황이 발생하였는데, 이 때, 위의 리눅스 상태 정보를 확인할 수 있는 명령어를 정리해주신 분의 도움을 받아 해결할 수 있었습니다. 원인은 너무나 간단하고 당연했던... 정말 한심했던 이유였습니다. [Reason] 일단 배포하고 있는 가비아 서버의 웹 서버 사용량을 보니 100 프로를 전부 사용하고 있었고, 이에 해당 가비아의 리눅스 서버를 파일질라를 통해 한번더 용량이 큰 파일이 존재하는지 확인한 뒤, 삭제 처리를 진행해주었지만 96퍼센트 까지 밖에 낮출 수가 없었습니다. 또한, 가장 많은 용량을 차지하는 빌드된 프로젝트 jar 파일을 지워도 마찬가지였습니..
2024.02.14 -
[이슈] input 태그에 파일을 여러 번 파일을 등록할 시 발생되는 이슈
[Reason] view 단을 만들고 이미지를 수정하는 부분을 만들어 업로드한 이미지들이 back 단으로 넘어가면 수정되는 코드를 작성하였다. 업로드하는 input 태그의 속성은 multiple 로서, 다중 이미지 파일이 업로드 될 수 있다. 코드 작성완료 후 기능 수행을 진행했을 때 여러 개의 이미지를 넣었을 때 정상적으로 반영되는 것을 확인할 수 있었다. 그런데, 유저 테스트를 진행하는 도중에 이미지가 정상적으로 반영이 되지 않는다는 문의를 받게 되었다. 한 번 버튼을 눌러 새로운 이미지를 추가하고 다시 반복적으로 한 번 더 버튼을 눌러 새로운 이미지를 눌러 추가하였더니 2개의 이미지가 반영되지 않고 1개의 이미지만이 반영되어 들어갔다는 이슈였다. 즉, 최신 업로드 이미지로 덮어씌워져 반영되는 이슈이..
2023.12.29 -
[이슈] Swagger 각각 다른 데이터 형식의 다중 요청 매개변수 존재 시 json 형식으로 묶음처리 되는 이슈
[Reason] 위의 이미지 처럼 회원가입 api 를 만들고 Swagger를 적용하여 문서화를 적용하였으나 swagger 자체에서 try it out 을 실행할 때 요청되는 매개변수들이 서로 다른 형식의 요청 데이터임에도 불구하고 하나의 Request Body json 형식으로 묶어서 처리되어 원하는 것처럼 두 가지의 데이터로 요청할 수 없었다. [Solution] 알고보니 rest api 요청 메소드 어노테이션인 @PostMapping 부분에 consume 속성, produces 속성을 추가하고 요청 매개변수 부분에 @Parameter 어노테이션을 추가하여 Swagger에서 사용할 파라미터임을 명시해 주어야 했다. consume 속성은 클라이언트 측에서 요청할 때 요청되는 데이터들의 형식을 지정해주는 ..
2023.10.05 -
[이슈] Spring Security 적용 시 api 기능 동작 불가 이슈
[Reason] - Spring Security 를 적용 후 컨트롤러에 api 로 매핑 생성 후 테스트로 동작 시켜보았지만 api가 아예 매핑되지 않았다. '회원 가입하기' 버튼 태그를 누르게 되면 오른쪽의 /user/signup api 루트로 빠져나가서 회원가입 페이지가 나와야 하는데 아예 이동조차 되지않았다. 에러메시지 또한 깔끔하게 아무것도 없었다. [Solution] - 몇 시간을 헤맨 결과, 원인은 바로 Spring Security 를 사용하면서 만들어놓은 Security Config가 문제 였다. http 로 요청을 해서 api 가 동작이 되게 하려면 해당 api 를 허용하겠다는 코드를 명시해야 한다. (# 이것은 Spring Security를 사용하고 http 를 호출하면서 동작하게될 api..
2022.10.07