회사에서 azure를 사용중인데, 릴리즈 준비중인 prod 서버에서 특이한 문제가 발생했다. (아래 내용은 모두 실제상황과 유사하게 "재현" 및 "각색" 된 것임을 밝힌다.) 스프링 부트 앱에서 google oauth2 인증시에 아래와 같은 에러가 발생했다. 검색해보니 private IP로 접근해서 ouath2 인증이 제대로 되지 않는 이슈였다. 하지만, 난 사내 dns를 통해 url을 입력해 서버에 접근했고 당연히 내부 ip가 사용되면 안되었다. 개발자 툴로 확인해보았다. (보안상 이유로 key값은 모두 지웠다.) Location header 내 쿼리스트링의 "redirect_uri" 의 값에 내부 ip가 찍히고 있었다. 당시에 사내 oauth2 sso 개발자가 휴가 중이었어서 몰랐지만, 로그인 성공후..
이클립스로 javaEE 어플리케이션을 개발하다보면, 가끔 의도적으로든, 실수로든 실행중인 jar 파일을 삭제하거나 교체하는 경우가 있다. 놀라운 것은 이때의 동작이 HP-OS, linux, Windows의 동작이 모두 다르다는 것이다. 일단 윈도우즈 먼저 살펴보자. 윈도우즈는 어떤 파일을 삭제하기 굉장히 까다롭다. 어떤 프로세스가 read lock을 파일에 걸게 되면, 운영체제가 파일락을 걸어버린다. 그리고 삭제할 때, 삭제가 되지 않도록 한다. 가장 대표적인 예가 토렌트와 악성코드가 있다. 토렌트에서 배포중이거나, 다운로드를 받고 있는 파일을 토렌트가 아닌 윈도우 창에서 삭제하려고 하면 삭제가 되지 않는 경험이 있을 것이다. 혹은, 어떤 파일이 악성코드에 감염되었는데, 해당 파일을 삭제하려고 하니, 삭..
고객사에서 웹로직에서 제우스로 전환하는데 아래와 같은 상황에 대한 버그 리포트가 있었다. filter에서 request.getParameter()를 호출. filter는 /* 로 매핑이 되어있어 무조건 타게 되어 있음. servlet에서는 request.getInputStream()을 호출. 이런 상황에서 request.getInputStream()에서 read()를 하는 경우 EOF가 떨어진다는 것이었다. 왜 이런 상황이 벌어졌는지 알려면 서블릿 스펙과 서블릿에서 요청을 읽어들이는 방법에 대해 알아야 한다. 크게 3가지 방법이 쓰인다. HttpServletRequest#getInputStream() HttpServletRequest#getReader() HttpServletRequest#getParam..
- Total
- Today
- Yesterday
- ORM
- 한국교통안전공단
- 이륜차
- Java17
- springboot
- ouath2
- k베뉴
- Request
- springboot3
- 포상금
- tomcat
- JPA
- 탈세
- 티스토리챌린지
- 현금영수증
- 전세사기
- n+1
- 토스페이
- Azure
- 공익제보단
- Spring
- 홈택스
- 알리
- 오블완
- 안전신문고
- 부가가치세
- Thymeleaf
- 알리익스프레스
- java
- 광군제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |