์ด ๊ธ€์€ CORS์— ๋Œ€ํ•ด ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž

1 minute read

์ด ๊ธ€์€ CORS์— ๋Œ€ํ•ด ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž


CORS; Cross-Origin Resource Sharing

๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ณผ์ •์—์„œ, ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ ์‚ฌ์ด์—์„œ API ์š”์ฒญ์„ ํ•  ๋•Œ, ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž…์žฅ์—์„œ ๊ณต์œ ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, CORS ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.


์œ„์˜ ๊ทธ๋ฆผ์„ ์ดํ•ดํ–ˆ๋‹ค๋ฉด, CORS์˜ ๋งฅ๋ฝ์„ ์ดํ•ดํ•œ ๊ฒƒ์ด๋‹ค.


CORS๋Š” ์„œ๋ฒ„ ์ž…์žฅ์—์„œ ํ—ˆ์šฉํ•œ origin๋งŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋„๋ก ์ ‘๊ทผ์„ ์ œํ•œ/ํ—ˆ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

์ฆ‰, ์„œ๋ฒ„์—์„œ Cross-origin์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ํ†ต์ œํ•˜๋Š” ๊ธฐ๋Šฅ์ด CORS๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.


Express ์„œ๋ฒ„๋ผ๋ฉด, cors ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

const express = require('express');
const cors = require('cors');

const app = express();
app.use(cors());

NestJS ์„œ๋ฒ„์—์„  ์•„๋ž˜์˜ ์ฝ”๋“œ๋กœ ์‰ฝ๊ฒŒ CORS ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งํฌ

const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(3000);

Categories:

Updated: