웹 개발/Problems
HTTP CORS 여러개의 origin 관리하기
미고렝
2021. 3. 19. 18:19
'Access-Control-Allow-Origin'의 값은 기본적으로 한개의 origin을 입력받던가 모든 오리진을 허용해주는 '*'이라는 와일드카드를 값으로 받을 수 있다.
만약 여러개의 origin을 허용하고 싶다면 따로 배열을 만들고 들어온 request의 origin이 그 배열에 포함이 되있는지 확인 하는방법을 사용할 수 있다. 확인 후에 해당 origin을 현재 'Access-Control-Allow-Origin'의 값으로 넣어주면 된다.
const server = http.createServer((request, response) => {
let body = [];
let allowedOrigins = [
//multiple origin 설정하기
'http://127.0.0.1:5500',
'http://14.36.99.81:44949',
'http://14.36.99.81:35911',
];
let origin = request.headers.origin; //@@@@@@@@@@@@@@@@@@@@@@@@@@@@origin 가져오기
temp = request.headers;
console.log(
'defaultCorsHeader[Access-Control-Allow-Origin]: ',
defaultCorsHeader['Access-Control-Allow-Origin'],
);
console.log('origin: ', origin);
if (allowedOrigins.includes(origin)) {
defaultCorsHeader['Access-Control-Allow-Origin'] = origin;
}
}