Proxy Server( WSGI) - vvonha/NaverAPI GitHub Wiki

๊ตฌ์„ฑ

esfsefes

WSGI : web๊ณผ was๊ฐ„ proxy ์„œ๋ฒ„ ์—ญํ• 

  1. ์„ธ์…˜, ์ฟ ํ‚ค, ๋ผ์šฐํŒ…, ๋“ฑ ์ˆ˜ํ–‰
    • ํ˜ธ์ถœ๋œ url์— ๋Œ€ํ•œ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ
    • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ๋‹ค์ค‘ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋™์ž‘ํ•˜๋„๋ก ์ฒ˜๋ฆฌ
  2. WSGI ์„œ๋ฒ„๋Š” ๋งŽ์€ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„.
  3. Nginx์—์„œ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ Application๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ๋ฒˆ์—ญ
  4. App์˜ WSGI ์‘๋‹ต์„ ์ ์ ˆํ•œ http ์‘๋‹ต์œผ๋กœ ๋ณ€ํ™˜
  5. ๋ณด์•ˆ ์•ฝ์ : ex) DOS์— ์ทจ์•ฝ -> Nginx ์—์„œ ์ฐจ๋‹จ ๊ฐ€๋Šฅ
  • Nginx ๋ณด์•ˆ ์„ค์ • ์ข…๋ฅ˜
    • SSL ์ง€์›
    • HTTP Method ์ œํ•œ ์„ค์ •
    • ์›น ์„œ๋ฒ„ ๋ฒ„์ „ ๋…ธ์ถœ ์ œํ•œ
    • ์„œ๋ฒ„ ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ์„ค์ •

<์™œ Web server๊ฐ€ ์ง์ ‘ Application์œผ๋กœ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š๊ณ  WSGI๋ฅผ ๊ฑฐ์น˜๋Š”๊ฐ€>

  1. ์œ ์—ฐ์„ฑ
  • ๊ฐœ๋ฐœ์ž๋Š” ์›น์„œ๋ฒ„๋ฅผ ๋ฐ”๊ฟ”๋„ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • WSGI๋ฅผ ์ค‘๊ฐ„์— ๋ฐ”๊พธ๋”๋ผ๋„ ์ƒ๊ด€์ด ์—†๋‹ค(Green Unicorn -> uWSGI)
  • ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ™ฉ์— ๋งž๋Š” ์Šคํƒ์œผ๋กœ ์‰ฝ๊ฒŒ ์‰ฝ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
  1. ํ™•์žฅ์„ฑ
  • ์›น์„œ๋ฒ„๋Š” ์ˆ˜๋งŽ์€ ๊ฑด์˜ request๊ฐ€ ๋“ค์–ด์˜ค๋ฉด wsgi ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ถ„์‚ฐ์‹œํ‚ต๋‹ˆ๋‹ค