CORS란?
- 웹 애플리케이션이 다른 도메인에서 리소스를 요청할 때 발생하는 보안 정책
- 브라우저는 보안상 같은 출처(Origin)에서만 리소스를 요청하는 것을 허용
- 다른 출처에서 리소스를 요청할 수 있도록 허용하기 위해 cors를 사용
Node.js에서 CORS사용
npm install cors
const corsOptions = {
origin: 'https://example.com',
methods: ['GET', 'POST'],
credentials: true,
};
app.use(cors(corsOptions));
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
app.get('/api/data', (req, res) => {
res.json({ message: 'CORS is enabled!' });
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
SOCKET.IO의 CORS
- SOCKET.IO는 CORS가 기본적으로 내장되어 있어 추가적인 import없이 사용할 수 있다.
io.attach(server, {
cors: {
origin: 'https://example.com',
},
});