๐Ÿฐย [221208 TIL] Proxy

apeach.jpeg

โœ๏ธย ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ

Proxy

CORS ์ •์ฑ…์„ ์šฐํšŒํ•ด์„œ ์‘๋‹ต์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ

Untitled

proxy ์ ์šฉ ์ „ ํ๋ฆ„

Untitled

proxy ์ ์šฉ ํ›„ ํ๋ฆ„

๋ธŒ๋ผ์šฐ์ €์—์„œ API๋ฅผ ์š”์ฒญํ•  ๋•Œ, proxy๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ โ€˜์šฐํšŒโ€™

๐Ÿ‘ย ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ

Use HTTP Protocol with Proxy

Proxy ์‚ฌ์šฉ๋ฒ•

webpack dev server proxy

npx create-react-app์œผ๋กœ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด package.json์—์„œ โ€œproxyโ€ ๊ฐ’์„ ์„ค์ • ๊ฐ€๋Šฅ

...
	"browserslist": {
		"production": [
			">0.2%",
			"not deat",
			"not op_mini all"
		],
		"development": [
			"last 1 chrome wesion",
			"last 1 firefox version",
			"last 1 safari version"
		]
	},
	"proxy" : "์šฐํšŒํ•  API ์ฃผ์†Œ"
}

๊ธฐ์กด์˜ fetch, axios ์š”์ฒญ ๋ถ€๋ถ„์—์„œ ๋„๋ฉ”์ธ์„ ์ œ๊ฑฐ

// ๋ณ€๊ฒฝ ์ „
export async function getAllFetch() {
	const response = await fetch('์šฐํšŒํ•  api ์ฃผ์†Œ/params');
	...
}

// ๋ณ€๊ฒฝ ํ›„
export async function getAllFetch() {
	const response = await fetch('/params');
	...
}