Server
-
django-redis 패키지 커스텀하기Server 2023. 2. 10. 19:42
진행하고 있는 Django 프로젝트에서 redis 를 사용하고 있습니다. 편리한 사용을 위해 python redis 모듈이 아닌 django-redis 패키지를 사용하고 있고 django-redis 패키지는 python redis 모듈의 interface 같은 역할을 수행한다고 보시면 됩니다. https://github.com/jazzband/django-redis GitHub - jazzband/django-redis: Full featured redis cache backend for Django. Full featured redis cache backend for Django. Contribute to jazzband/django-redis development by creating an accou..
-
Django 버전에 의존하는 Referrer policy 관련 이슈Server 2022. 6. 3. 10:55
실서버의 Python 버전을 업그레이드하며 Django의 버전도 2점대에서 3점대에서 업그레이드를 했는데 이슈가 발생했다. Http referrer 이 사라진 것. 기존 코드에서 referrer + Ip를 이용한 접근 방어 로직이 있었는데 장고 3점대로 변경하며 이슈가 발생했다😂장고 2에서 3.1 이상의 버전으로 가며 어떤 기본 스펙이 달라졌을까 찾아보니.. https://chipcullen.com/django-3-referrer-policy-change/ https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-SECURE_REFERRER_POLICY 위 링크에 있는 부분인데 장고의 default secure_referrer_policy가 변경되..
-
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 버전으로 실행되는 스크립트의 혹시 모..