๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Frontend Dev/๐Ÿฅ ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE ๋ถ€ํŠธ์บ ํ”„

Section4 Unit7 [Deploy] CI/CD - Proxy ์„ค์ •ํ•ด HTTP ํ†ต์‹ ํ•˜๊ธฐ

๋ฐ˜์‘ํ˜•


Section4 Unit7 [Deploy] CI/CD - Proxy ์„ค์ •ํ•ด HTTP ํ†ต์‹ ํ•˜๊ธฐ

 

๐Ÿ“Œ Chapter4. Proxy

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž์‹ ์„ ๊ฑฐ์ณ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค‘๊ฐ„์—์„œ ๋Œ€๋ฆฌํ•ด์ฃผ๋Š” ์„œ๋ฒ„๋ฅผ ๋งํ•œ๋‹ค. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์—์„œ ๋Œ€๋ฆฌ๋กœ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๊ฒƒ์„ proxy๋ผ๊ณ  ํ•˜๊ณ , ๊ทธ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์„œ๋ฒ„๋ฅผ proxy ์„œ๋ฒ„๋ผ๊ณ  ํ•œ๋‹ค.

• ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ API๋ฅผ ์š”์ฒญ ํ•  ๋•Œ์—๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ํ˜„์žฌ ์ฃผ์†Œ์™€ API ์ฃผ์†Œ์˜ ๋„๋ฉ”์ธ์ด ์ผ์น˜ํ•ด์•ผ๋งŒ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ API๋ฅผ ์š”์ฒญํ•ด์„œ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ ค๋ฉด CORS ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

 

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

 

 

โญ๏ธ ๊ณผ์ œ. Proxy ์„ค์ •ํ•ด HTTP ํ†ต์‹ ํ•˜๊ธฐ

 

โœ”๏ธ Bare Minimum Requirement

๊ณผ์ œ1 ๐Ÿ“api ์„œ๋ฒ„ ์ด์šฉ

  โœ… webpack dev server์˜ proxy ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์šฐํšŒํ•˜์—ฌ ์‘๋‹ต์„ ๋ฐ›๊ธฐ

 

๊ณผ์ œ2 ๐Ÿ“api2 ์„œ๋ฒ„ ์ด์šฉ

  โœ… webpack dev server์˜ proxy ๊ธฐ๋Šฅ ๋Œ€์‹  http-proxy-middleware์˜ proxy ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ proxy๋ฅผ ์œ ์—ฐํžˆ ์„ค์ •ํ•ด 2๊ฐœ์˜ ๋„๋ฉ”์ธ์—์„œ ๋ชจ๋‘ ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๊ธฐ

  โœ… api2์— ๊ด€๋ จ๋œ fetch ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ , ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ๋งŒ๋“ค์–ด 2๊ฐœ์˜ ๋„๋ฉ”์ธ์—์„œ ๋ชจ๋‘ ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ

 

 

 ํ”„๋ก์‹œ ์„ค์ •๊ณผ ์˜ˆ์ œ๋ฅผ ์•„๋ž˜ ์ฒจ๋ถ€๋œ ํฌ์ŠคํŒ…์— ์ •๋ฆฌํ•ด๋‘์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์–ด๋ ต๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ฐœ๋…์ด์—ˆ๋Š”๋ฐ, ๊ณ„์† ๋“ค์—ฌ๋‹ค๋ณด๋‹ˆ ์กฐ๊ธˆ ์ต์ˆ™ํ•ด์ง„ ๊ฒƒ ๊ฐ™๋‹ค ๐Ÿ™‚

 

Proxy ์„ค์ •ํ•ด HTTP ํ†ต์‹ ํ•˜๊ธฐ ( webpack dev server์˜ proxy์™€ React Proxy ์‚ฌ์šฉ๋ฒ• )

๐Ÿ’ฌ ์ง€๋‚œ๊ธ€๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋ฒˆ์—๋„ ์—ญ์‹œ CodeStates ๋ถ€ํŠธ์บ ํ”„ ์ค‘ ์‹ค์Šตํ–ˆ๋˜ ๋‚ด์šฉ์œผ๋กœ Proxy ์„ค์ •์— ๊ด€ํ•œ ๋ถ€๋ถ„์ด๋‹ค. Proxy ์„œ๋ฒ„, ์–ธ์ œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ API๋ฅผ ์š”์ฒญ ํ•  ๋•Œ์—๋Š”

fay-story.com

 

 


๐ŸŒ™  ์˜ค๋Š˜์˜ ํšŒ๊ณ 

 ์˜ค๋Š˜์ด ๊ณต์‹์ (?)์œผ๋กœ๋Š” ๋งˆ์ง€๋ง‰ ์ˆ˜์—…์ด๋‹ค. ๋‚ด์ผ์€ Section4 ํšŒ๊ณ  ์‹œ๊ฐ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ์˜ ์ง„๋„๋Š” ์—†๋‹ค. ๋งˆ์ง€๋ง‰ ๊ณผ์ œ๋Š” Proxy ์„ค์ •์„ ํ†ตํ•ด HTTP ํ†ต์‹ ์„ ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ํ—ท๊ฐˆ๋ฆฌ๊ณ , ์ดํ•ด๊ฐ€ ์™„์ „ํžˆ ๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์—ฌ์ฐจ์ €์ฐจ ์™„๋ฃŒ๋Š” ํ–ˆ๋‹ค.

 ๋„ˆ๋ฌด ๋ฌด๋”์šด ์—ฌ๋ฆ„์ด๋‹ค. ๊ฐ€๋งŒํžˆ ์•‰์•„์žˆ์–ด๋„ ๋ฅ๊ณ  ์Šตํ•ด์„œ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ํž˜๋“  ๋‚ ์”จ๋‹ค. ์ด๋Ÿฐ ๋‚ ์”จ ์†์— ์ œ๋Œ€๋กœ ์ง‘์ค‘ํ•˜์ง€ ๋ชปํ•œ ํ•˜๋ฃจ๊ฐ€ ๋˜ ํ˜๋ €๋„ค. ์‹œ๊ฐ„์ด ์ •๋ง ๋„ˆ๋ฌด ๋น ๋ฅด๋‹ค.

๋ฐ˜์‘ํ˜•