django ssl 적용
https 로 통신을 해보고 싶어 연습삼아 해봤다.
참고로 nginx, 도메인 없는 django만 사용했다.
https를 사용하기 위해서는 ssl 인증서가 필요하다. 공인된 인증서를 발급받으려면 도메인이 필요한데 나는 그냥 연습용이라 직접 ssl인증서를 만들어 사용해봤다.
- 인증서 생성
우선 해당 django 프로젝트로 이동한다.
openssl genrsa 1024 > django.key
키 파일을 가지고 crt 파일을 생성한다.
openssl req -new -x509 -nodes -sha256 -days 365 -key django.key > django.crt
다음과 같이 파일이 생성되고 파일 안에는 private key가 작성되어있다.
- nginx, domain이 없어서 그냥 라이브러리 쓰듯 사용하면 된다.
pip install django-sslserver
나는 requirements 파일이 있어서 여기다가 넣었다. 없으면 안넣어도 된다.
pip freeze > requirements.txt
- installed app에 넣는다.
- 실행시킨다.
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을 사용해야하는 것 같다
- 완료
참고
https://ososoi.tistory.com/42
Author And Source
이 문제에 관하여(django ssl 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wlgns410/django-ssl-적용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)