페이지

2016년 6월 8일 수요일

django DEBUG = False ALLOWED_HOSTS 설정

django 개발시 기본 설정은 다음과 같습니다.
DEBUG = True
ALLOWED_HOSTS = []
DEBUG = False
로 변경하면 아래와 같은 에러가 발생합니다.
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.

DEBUG = True 일때는 상관없지만 DEBUG = False 가 되면 접속가능한 호스트를
ALLOWED_HOSTS 에 추가해줘야 합니다.

ALLOWED_HOSTS = ['127.0.0.1'] 로 설정 후
http://localhost:8000/ 로 접속시
Bad Request (400)

http://127.0.0.1:8000/ 로 접속시
접속됨

ALLOWED_HOSTS = ['localhost'] 로 설정 후
http://localhost:8000/ 로 접속시
접속됨

ALLOWED_HOSTS = ['*']
로 하여 모든 곳으로 부터의 접속을 허용할 수도 있습니다.

DEBUG = False 로 하는 경우는 대부분 운영을 위한 경우이고
운영환경의 경우 아파치나 nginx 같은 웹서버를 경유하게 되므로
ALLOWED_HOSTS 에 서버의IP 만 적어 주는 것이 좋을것 같습니다.
그리고 웹서버에서 어떻게 요청을 전달하느냐에 따라 맞춰서 설정해 줘야 합니다.

댓글 없음:

댓글 쓰기