ALLOWED_HOST
서버로 요청하는 Host에 대한 Allowed 리스트.
DEBUG=True라면 기본값으로 ['.localhost', '127.0.0.1', '[::1]'] 로 설정된다.
📝 참고 : [::1] 는 로컬의 IPV6을 의미한다. IPV4에서 localhost와 같은 역할.!
CORS_ORIGIN_WHITELIST
Origin 헤더에 대한 Allowed 리스트. Origin 헤더는 fetch가 시작되는 위치로, GET 요청을 제외하고 포함된다.
django-cors-headers 라이브러리에서 제공하는 기능이다.
아래와 같이 INSTALLED_APP과 MIDDLEWARE에서 추가 후, CORS_ORIGIN_WHITELIST를 정의할 수 있다.
INSTALLED_APPS = [
...,
"corsheaders",
...,
]
MIDDLEWARE = [
...,
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
...,
]
443, 80 포트를 제외하고는 URI scheme + hostname + port로 정의해야 한다.
CORS_ORIGIN_WHITELIST = [
'https://example.com',
'http://127.0.0.1:9000',
]
만약, 정규표현식으로 Allowed 리스트를 정의하고 싶다면, CORS_ALLOWED_ORIGIN_REGEXES 사용하면 된다.
(CORS_ORIGIN_WHITELIST 와 함께 사용 가능.)
CORS_ALLOWED_ORIGIN_REGEXES = [
r"^https://\\w+\\.example\\.com$",
]
CORS_ALLOW_ALL_ORIGINS 가 True이면 모든 Origin에 대해 출처가 허용됨을 의미한다. (제한이 없다.!)
예전에는 CORS_ORIGIN_ALLOW_ALL 이었다. 둘 다 사용할 경우 지금 이름이 먼저.!
CORS_ALLOW_ALL_ORIGINS = True
특정 path 만을 허용 할 수도 있다. CORS_URLS_REGEX 를 사용하며, 기본 값은 r'^.*$’ 로, 모든 path에 대해 허용한다는 의미이다.
CORS_URLS_REGEX = r"^/api/.*$"
'개발계발 > Python' 카테고리의 다른 글
python Lint툴 적용하기(flake8, black) (2) | 2022.09.25 |
---|