
Node.js를 사용하여 웹 애플리케이션을 개발할 때, CORS(Cross-Origin Resource Sharing)는 자주 마주치게 되는 보안 이슈 중 하나입니다. 웹 브라우저의 보안 정책에 따라 다른 도메인 간에 리소스를 공유할 수 있는지 여부를 결정하는데, 이를 해결하기 위해 Node.js에서는 CORS 설정을 통해 서버의 보안을 강화하고 다른 도메인 간의 통신을 안전하게 관리할 수 있습니다. 이번 글에서는 Node.js에서 CORS를 설정하는 방법에 대해 알아보겠습니다.
CORS는 웹 애플리케이션이 다른 도메인에서 리소스를 요청할 때 보안 상의 이슈를 다루는 메커니즘입니다. 웹 브라우저는 보안을 유지하기 위해 다른 출처(origin)에서 리소스를 가져오는 것을 제한합니다. 이는 XSS(Cross-Site Scripting) 및 CSRF(Cross-Site Request Forgery)와 같은 보안 공격을 방지하기 위한 조치입니다.
cors 미들웨어 설치하기: 프로젝트 디렉터리에서 npm을 사용하여 cors 미들웨어를 설치합니다.
npm install cors
Express 애플리케이션에 cors 미들웨어 추가하기: Express 애플리케이션을 생성하고 cors 미들웨어를 사용하도록 설정합니다.
const express = require('express');
const cors = require('cors');
const app = express();
// 모든 요청에 대해 CORS를 허용하는 미들웨어 추가
app.use(cors());
const corsOptions = {
origin: 'https://example.com',
optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
};
app.use(cors(corsOptions));
Node.js에서 CORS 설정은 웹 애플리케이션의 보안을 강화하고 다른 도메인 간의 통신을 안전하게 관리하는 데 중요한 역할을 합니다. Express와 함께 사용되는 cors 미들웨어를 통해 간단하게 CORS를 설정할 수 있으며, 특정 origin에 대한 허용 여부도 설정할 수 있습니다. 이를 통해 서버의 보안을 유지하고 안전한 웹 애플리케이션을 개발할 수 있습니다.