티스토리 뷰
서론
Docker로 Django 서버를 배포할 경우에 CSRF Token을 Form 안에 잘 넣었음에도 403 Forbidden 에러가 발생합니다. 이런 경우에 해결방법을 소개합니다.
본론
해당 문제와 유사한 상황을 스택 오버 플로우에서 찾았습니다.
CSRF_TRUSTED_ORIGINS
Django 프로젝트의 settings에서 CSRF_TRUSTED_ORIGINS
항목을 추가하여 배포하는 서버의 Origin을 허용해 주어야 합니다.
# settings.py
CSRF_TRUSTED_ORIGINS=['https://*.YOUR_DOMAIN.COM']
예를 들어 지금 배포하는 서버의 Origin이 http://xxx.xxx.xxx.xxx:8099 라면 CSRF_TRUSTED_ORIGINS를 아래와 같이 변경하면 됩니다.
CSRF_TRUSTED_ORIGINS=['http://xxx.xxx.xxx.xxx:8099']
결론
프레임워크는 블랙박스 같아서 뭔가 안된다 싶으면 찾아보는 재미가 있는 것 같습니다. 또 하나 알아 갑니다.
'개발자 > 파이썬(Python)' 카테고리의 다른 글
[Django] DRF로 Token 로그인 구현 (0) | 2024.02.16 |
---|---|
[Python] Re 패키지로 정규표현식 사용하기 (0) | 2024.02.03 |
[Django] 조건부 CBV 만들기 (0) | 2024.01.19 |
[Django] Docker 컨테이너에서 createsuperuser 사용 (0) | 2024.01.17 |
[Django] Django와 MySQL 혹은 MariaDB Docker로 연결 (0) | 2024.01.17 |