django ssl 적용

https 로 통신을 해보고 싶어 연습삼아 해봤다.
참고로 nginx, 도메인 없는 django만 사용했다.

https를 사용하기 위해서는 ssl 인증서가 필요하다. 공인된 인증서를 발급받으려면 도메인이 필요한데 나는 그냥 연습용이라 직접 ssl인증서를 만들어 사용해봤다.

  1. 인증서 생성
    우선 해당 django 프로젝트로 이동한다.
openssl genrsa 1024 > django.key

키 파일을 가지고 crt 파일을 생성한다.

openssl req -new -x509 -nodes -sha256 -days 365 -key django.key > django.crt

다음과 같이 파일이 생성되고 파일 안에는 private key가 작성되어있다.

  1. nginx, domain이 없어서 그냥 라이브러리 쓰듯 사용하면 된다.

pip install django-sslserver

나는 requirements 파일이 있어서 여기다가 넣었다. 없으면 안넣어도 된다.
pip freeze > requirements.txt

  1. installed app에 넣는다.

  1. 실행시킨다.

python manage.py runsslserver 0:8000 --certificate django.crt --key django.key

나는 0:8000을 쓰고있어서 이렇게 사용했고 0:8000을 빼도 상관없다.

https://www.ibm.com/docs/ko/ermd/9.6.0?topic=access-configuring-ssl-tls

수정
포트는 8443을 사용해야하는 것 같다

  1. 완료

참고
https://ososoi.tistory.com/42

좋은 웹페이지 즐겨찾기