인프런 커뮤니티 질문&답변

c880910님의 프로필 이미지
c880910

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

휴대폰 망을 통해 로컬 개발서버에 접속하는 방법

안녕하세요 ngrok와 관련하여 질문드립니다

작성

·

863

1

선생님 설명대로 ngrok를 실습하였는데 django admin에서 로그인시 저런 페이지가 뜨는데 왜 그런지 이유를 잘 모르겠습니다 ㅠㅠ

답변 1

3

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

현재 django 버전 4를 사용 중이시고, ngrok에서는 https로 접속을 하신 듯 합니다.

제가 살펴보니, django 4부터 csrf 관련하여 체킹하는 로직이 강화되었더라구요. ngrok로의 접속은 https이지만, ngrok를 경유해서 장고로 요청이 들어갈 때에는 http인데요. 이때 요청 host 헤더는 https 이지만 실제 요청은 http 라서, 서로 다른 요청 주소로 인해 csrf 체킹에서 Origin checking failed - %s does not match any trusted origins. 오류가 발생한 것입니다.

관련 코드 : https://github.com/django/django/blob/4.0.4/django/middleware/csrf.py#L419

이를 대응하기 위해 settings.CSRF_TRUSTED_ORIGINS 설정이 추가되어있습니다. ngrok 요청이 신뢰할 수 있는 origin이라는 설정입니다. 아래와 같이 설정을 적용해서 확인해보시겠어요?

CSRF_TRUSTED_ORIGINS = ['https://ngrok주소]

화이팅입니다. :-)

c880910님의 프로필 이미지
c880910

작성한 질문수

질문하기