분류 전체보기
-
nginx로 악의적인 반복 요청 방지하기Server 2022. 6. 3. 10:52
웹 서비스 하나를 개발하였는데 백엔드 서버는 Django 와 gunicorn, nginx 를 같이 사용하고 있고 별도의 프론트엔드 서버와 통신하고 있다. 이제 서버 방어체계를 구축해야 한다. DDos 방어까지는 아니더라도 동일 ip 의 악의적인 다중 http request 는 막야아하며 NGINX 로 쉽게 대비할 수 있을 것 같다. NGINX limit_req nginx 문서에 깔끔하게 설명이 잘 되어있다. limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s; server { location / { limit_req zone=mylimit; ... } } 상기 설정의 의미는 다음과 같다. limit_req_zone $binary_remote_a..
-
Ubuntu 18.04 Django Python 버전 변경하기Server 2022. 6. 2. 17:23
😇 실서버의 python 버전을 변경할 일이 생겼다. 가장 큰 이유는 python3.5 버전의 django-redis library 와 fstring 미지원. 그래서 python3.8로 버전 변경을 하기로 했다. 오류없이 무중단으로 교체를 하기위해 실서버의 AMI 생성 생성한 AMI를 시작하여 작업 버전 변경 완료 후 ELB target group 변경 의 순서로 진행하기로 했다. 일단 서버에 python3.8 버전이 없기에 설치부터 해줘야한다. sudo apt install python3.8 그리고 기존에 python3.5 excute somthing 과 같이 버전을 명시한 커맨드가 아닌 python excute something 과 같이 default python 버전으로 실행되는 스크립트의 혹시 모..
-
Google Cloud SQL PostgreSQL 용량 폭주Cloud 2022. 6. 2. 17:21
GCP PostgreSQL에 30기가 정도의 DB를 쌓고 있는데 원인 불명으로 DB가 폭주하기 시작한다. DB 용량은 25GB인데 인스턴스는 60GB 리밋에 닿아서 인스턴스가 치명적으로 작동하지 않는다. 다시시작으로도 해결이 안되어 리밋을 조금 더 주니 정상적으로 작동하지만 얼마 후 다시 사이즈가 꽉 찬다. Insert쿼리는 하나도 날리지 않았는데도 .......😢 구글링이 정말 안되더라 아무리 검색해도 나오지 않는다. 그나마 가까웠던 것이 Postgre의 작동 방식이었고 보통 /base/~tmp dir에 임시 쿼리가 쌓이고 커밋이 완료되면 삭제하는 사이클로 동작하기 때문에 그 부근에 데이터가 많이 쌓여있을 가능성이 있단 사실을 캐치했다. 하지만 구글 클라우드 환경에서 인스턴스에는 Superuser만 접..