본문 바로가기
728x90

분류 전체보기31

[SpringBoot & Nginx] 클라이언트 IP 수집하기 개인적으로 소규모 운영중인 서비스에 방문기록을 남기는 작업을 진행해보았다. 그 중, Ip 정보를 수집을 해야 했는데 구글링 조금 해보면 아래와 같은 코드를 확인할 수가 있다. public static String getRemoteIp(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-For"); if (ip == null) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null) { ip = request.getHeader("HTTP_CLIENT_IP").. 2020. 9. 13.
Google Cloud Storage CORS 설정 CSS 파일을 프로젝트 로컬에 두다가, Cloud Storage 등에 올려 관리를 해보려고 했다. 위와 같이 설정을 했으나, CORS 관련하여 적용이 되지 않는 현상 발생. 구글링 하다보니 Storage 에도 CORS 정책이 있는 것을 보고 아래와 같이 진행하였다. - 현재 상태 확인 gsutil cors get gs://{스토리지명} 응답을 보면, CORS 관련 설정이 없음을 볼 수 있다. - CORS 관련 설정 진행 1) 아래와 같이 필요한 옵션을 정의한 후 json 파일을 생성. /* my_storage_cors.json */ [{ "origin": [ "*" ], "responseHeader": [ "Content-Type" ], "method": [ "GET", "HEAD", "DELETE" ].. 2020. 9. 4.
Mysql 무중단 Index 설정하기 (feat, pt-online-schema-change) 서비스를 개발하고 운영하다보면, 성능 개선 이슈에 부딪히게 된다. 어플리케이션 코드는 동일하지만, 데이터 양이 많아질 수록 성능이 현저히 떨어지게 되는 경우가 발생하게 되는데 대부분 DB에 Index 처리가 되어있지 않아서다. 물론, JPA 와 같은 ORM 특성을 잘못 써서 생기는 경우도 있지만.. 이 경우는 추후 정리를 해보는 것으로 하고.. 보통은 Index 를 설정한다고 하면, "ALTER TABLE ... ADD INDEX ... " 를 생각할텐데 실제 라이브중인 데이터베이스에서는 그리 쉬운 일이 아니다. 나 역시도 이번에 정리할 툴을 알기 전 까지 DB Lock 을 감수하며 Index 설정을 하곤 했으나.. Online DDL 이란 것을 알게 된 이후 삶의 질(?)이 올라간 느낌이었다. Onli.. 2020. 8. 30.
728x90