이 글은 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: