Python3/Django

[Django] CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

Razelo 2022. 8. 18. 16:03

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를 명시적으로 적어줘야겠다.

 

 

반응형