Django 를 production 상에서 운용할때는 반드시 DEBUG = False 로 두고 실행해야 한다.
그 이유는 DEBUG = True 로 두고 운용을 하게 되면 서버 운용 중 발생한 오류가 사용자에게 보이기 때문이다. 이 때문에 해커가 프로젝트의 구조를 파악할 수도 있게 된다.
그래서 반드시 DEBUG=False 로 두고 운용해야 하는데 막상 DEBUG = False 로 두고 runserver 를 돌리니 다음과 같은 에러가 발생했다.
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
어떻게 해결할 수 있을까?
해결법은 간단하다. 에러 로그가 하는 말 그대로 진행하면 된다 .
settings.py 에 있는 ALLOWED_HOSTS 에 누구의 접속을 허용해줄지 명시하면 된다.
보통 접속할 서버 IP 를 많이 적는다고 한다.
나의 경우 어차피 VPC상에서 ACG를 통해 접속 포트를 제한했으므로 ALLOWED_HOSTS = ['*'] 라고 명시해주었다.
즉 모든 곳에서 접속을 허용한다는 뜻이다.
아직 클라우드 세팅 작업 중 수정 사항이 있어서 클라우드 세팅 작업이 마무리되면 서버 IP를 명시적으로 적어줘야겠다.
반응형
'Python3 > Django' 카테고리의 다른 글
[Django] Django 에서 추가로 학습해야할 내용들 (0) | 2022.08.18 |
---|---|
[Django] Django 에서 테스트 코드 부분 실행하기 (0) | 2022.08.18 |
[Django] drf-yasg가 적용되지 않을때 + ImportError: cannot import name 'url' from 'django.conf.urls' + frozen importlib (0) | 2022.08.18 |
[Django] 10분이면 읽는 Django 기초 개념 정리 (입문자용) (0) | 2022.07.17 |
[Django] Django에서 AbstractUser의 password 암호화, User모델 확장 (0) | 2022.07.15 |