Django는 CORS 설정을 통해 도메인 간 문제 해결

1. Ajax 도메인 간 요청
Ajax는 이 도메인 (프로토콜, 호스트, 포트가 임의로 다른) 이 아닌 웹 자원을 대상 주소로 요청합니다.
프런트 엔드
http://192.168.10.50:8080
백엔드
http://192.168.10.50:8000
Ajax 크로스 도메인 보호 요청: 크로스 스테이션의 공격을 방지합니다.
2. 도메인 간 액세스 해결 방법
도메인 간 액세스 리소스가 필요한 현실에는 다음과 같은 두 가지 솔루션이 있습니다.
  • 전단 해결: jsonp
  • 백엔드 솔루션(Django): CORS 전문 솔루션입니다
  • 이 글은 주로 Django 프레임워크를 사용하여 개발할 때의 백엔드 솔루션을 소개합니다.
    3. 도메인 간 문제 해결
    Django 프레임워크는 django-cors-headers라는 모듈을 통해 해결됩니다.
    1. 설치
    
    pip install django-cors-headers
    
    2. 앱 등록
    settings에 등록된 INSTALLED_APPS에서
    
    INSTALLED_APPS = (
     ...
     'corsheaders',
     ...
    )
    
    3. 중간부품에 추가
    settings에 추가된 MIDDLEWARE는 일반적으로django에 놓입니다.middleware.csrf.CsrfViewMiddleware 앞.
    
    MIDDLEWARE = [
     'corsheaders.middleware.CorsMiddleware',
     ...
    ]
    
    4. 화이트리스트 추가
    접근이 가능한 화이트 리스트를 추가합니다. 화이트 리스트에 나타나는 도메인 이름은 백엔드 인터페이스에 접근할 수 있습니다.
    
    #   CORS  
    # 1.  
    CORS_ORIGIN_WHITELIST = (
     '127.0.0.1:8080',
     'localhost:8080',
     'http://192.168.10.50:8080', #  , 
    )
    # 2.   CORS Cookie
    CORS_ALLOW_CREDENTIALS = True #  , cookie 
    
    Django가 CORS 설정을 통해 크로스 도메인 문제를 해결하는 것에 관한 이 글은 여기에 소개되었습니다. 더 많은 Django CORS 크로스 도메인 관련 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기