๊ฐœ๋ฐœ ์ง€์‹/WEB ์ง€์‹

๐ŸŒ Reverse Proxy / Forward Proxy ์ •์˜ & ์ฐจ์ด ์ •๋ฆฌ

์ธํŒŒ_ 2022. 6. 23. 08:14

Reverse Proxy-Forward Proxy

ํ”„๋ก์‹œ(Proxy) ๋ž€?

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ž์‹ ์„ ํ†ตํ•ด์„œ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค์— ๊ฐ„์ ‘์ ์œผ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

ํ”„๋ก์‹œ(Proxy)๋ž€ '๋Œ€๋ฆฌ' ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฉฐ, ์„œ๋ฒ„์™€ ์„œ๋ฒ„์‚ฌ์ด์˜ ์ค‘๊ณ„๊ธฐ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

ํ”„๋ก์‹œ๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•  ์ˆ˜ ์—†๋Š” ๋‘ ์ ์‚ฌ์ด์—์„œ ๋Œ€๋ฆฌ๋กœ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ณด์•ˆ์„ฑ, ์„ฑ๋Šฅ, ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ด๋‹ค.

ํ”„๋ก์‹œ(Proxy)

๋ณดํ†ต ์›น์€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ, ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ํ†ต์‹ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
์ด๋•Œ ํ•„์—ฐ์ ์œผ๋กœ ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ „๋‹ฌํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๋™์ผํ•œ ์š”์ฒญ์„ ๋งค๋ฒˆ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๊ณง ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„ ์™€ ์„œ๋ฒ„์˜ ๋ถ€ํ•˜ ๋กœ ์ด์–ด์ง€๊ฒŒ ๋œ๋‹ค.

๋•Œ๋ฌธ์— ๋ณธ ์„œ๋ฒ„์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์ƒˆ๋กœ์šด ์„œ๋ฒ„(proxy server)๋ฅผ ๋ฏธ๋ฆฌ ๋ฐฐ์น˜ํ•˜์—ฌ ์ค‘๋ณต ์š”์ฒญ์— ๋Œ€ํ•ด (์—ฐ์‚ฐ์ด ํ•„์š”์—†๋Š”) ๋™์ผํ•œ ์‘๋‹ต์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ํด๋ผ์ด์–ธํŠธ์—๊ฒ ๋น ๋ฅธ ์†๋„์˜ ์„œ๋น„์Šค๋ฅผ, ์„œ๋ฒ„์—๊ฒŒ๋Š” ๋ถˆํ•„์š”ํ•œ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋Š” ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


ํ”„๋ก์‹œ์˜ ๋‘ ์ข…๋ฅ˜

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ๋„คํŠธ์›Œํฌ ์ƒ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š๋ƒ, ํ˜น์€ ์–ด๋Š ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ Forward Proxy ์™€ Reverse Proxy ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค.

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์ „์— ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„์— ๋Œ€ํ•ด ๋จผ์ € ์ดํ•ดํ•˜๋ฉด ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€ ๋œ๋‹ค. ์ด 2๊ฐ€์ง€์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด์ž.

ํ”„๋ก์‹œ


ํฌ์›Œ๋“œ ํ”„๋ก์‹œ (Forward Proxy)

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํด๋ผ์ด์–ธํŠธ ๋ฐ”๋กœ ๋’ค์— ๋†“์—ฌ ์žˆ๋‹ค.

๊ฐ™์€ ๋‚ด๋ถ€๋ง์— ์กด์žฌํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•ด์ค€๋‹ค.โ€‹

์ฆ‰, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘๊ทผํ•˜๊ณ ์ž ํ• ๋•Œ, ํด๋ผ์ด์–ธํŠธ๋Š” ํƒ€๊ฒŸ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ํฌ์›Œ๋“œ ํ”„๋ก์‹œ์— ์ „๋‹ฌํ•˜์—ฌ, ํฌ์›Œ๋“œ ํ”„๋ก์‹œ๊ฐ€ ์ธํ„ฐ๋„ท์œผ๋กœ ์š”์ฒญ๋œ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์šฐ๋ฆฌ๊ฐ€ naver.com ์„ ์š”์ฒญํ•˜๋ฉด ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ naver.com ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์‹  ๋ฐ›์•„์™€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋‚ด๋ฐ€์–ด์ค€๋‹ค(forward)๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋งํ•˜๋Š” ‘ํ”„๋ก์‹œ ์„œ๋ฒ„’๋ž€ ๋ฐ”๋กœ ํฌ์›Œ๋“œ ํฌ๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํฌ์›Œ๋“œ ํ”„๋ก์‹œ (Forward Proxy)


ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์‚ฌ์šฉ ์ด์ 

 

ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ (Security)

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

์บ์‹ฑ (Caching)

์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ์›น ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜๋ฉด ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€ ์„œ๋ฒ„์˜ ์ •๋ณด๋ฅผ ์บ์‹ฑ(์ž„์‹œ๋ณด๊ด€)ํ•ด๋‘”๋‹ค.
๊ทธ๋ž˜์„œ ๋˜‘๊ฐ™์ด ํ•ด๋‹น ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ , ์บ์‹œ๋œ ์ •๋ณด(ํŽ˜์ด์ง€)๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋Š” ํšจ๊ณผ๋„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์—์„œ ๋งŒ์ผ 4๋ช…์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ naver.com์— ์ ‘๊ทผํ• ๋•Œ ๋ณธ๋ž˜๋Š” ๊ฐ๊ฐ ๋”ฐ๋กœ ์ธํ„ฐ๋„ท์„ ๊ฒฝ์œ ํ•ด์„œ ๋„ค์ด๋ฒ„ ํŽ˜์ด์ง€๋ฅผ ๋ฐ›๊ฒ ์ง€๋งŒ, ํฌ์›Œ๋“œ ํ”„๋ก์‹œ๋ฅผ ์ด์šฉํ•˜๋ฉด ํ”„๋ก์‹œ๋‚ด ์บ์‹ฑ ๋œ ๋„ค์ด๋ฒ„ ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์กฐํšŒํ• ์ˆ˜ ์žˆ๋Š” ์›๋ฆฌ์ด๋‹ค.

์•”ํ˜ธํ™” (Encryption)

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์€ ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ์•”ํ˜ธํ™”๋œ๋‹ค.
์•”ํ˜ธํ™”๋œ ์š”์ฒญ์€ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋งŒ ๊ฐ–๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ip ๋ฅผ (๋ณด์•ˆ์„ ์œ„ํ•ด) ๊ฐ์ถฐ์ฃผ๋Š” ๋ณด์•ˆ ํšจ๊ณผ๋ฅผ ๋‚ด์ค€๋‹ค.
๋”ฐ๋ผ์„œ ๋ณธ ์„œ๋ฒ„์—์„œ IP ์ฃผ์†Œ๋ฅผ ์—ญ์ถ”์ ํ•ด๋„ ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด  ์ •์ฒด๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋œ๋‹ค.
์™œ๋ƒ๋ฉด IP ์ถ”์ ํ•ด๋„ ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„ IP๋งŒ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ (Reverse Proxy)

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ ์ฒ˜๋Ÿผ ์›น์„œ๋ฒ„/WAS ์•ž์— ๋†“์—ฌ ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ์›น์„œ๋น„์Šค์— ์ ‘๊ทผํ• ๋•Œ ์›น์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ํ”„๋ก์‹œ๋กœ ์š”์ฒญํ•˜๊ฒŒ ๋˜๊ณ , ํ”„๋ก์‹œ๊ฐ€ ๋ฐฐํ›„(reverse)์˜ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

ํด๋ผ์ด์–ธํŠธ์ชฝ์œผ๋กœ ๋ฐ์ดํ„ฐ(response)๋ฅผ ๋ฐ€์–ด์ฃผ๋Š”๊ฒŒ ํฌ์›Œ๋“œ๋ผ๋ฉด, ๊ทธ ๋ฐ˜๋Œ€ํŽธ์ธ ์„œ๋ฒ„ ์ชฝ์œผ๋กœ ๋ฐ์ดํ„ฐ(request)๋ฅผ ๋ฐ€์–ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ Reverse ์˜ ๋œป์€ "์—ญ์ „, ๊บผ๊พธ๋กœ"์˜ ๋œป์ด ์•„๋‹Œ "๋ฐฐํ›„, ๋’ท์ชฝ"์˜ ๋œป์ด๋‹ค.
์ฆ‰, ๋ฐฐํ›„์— ์žˆ๋Š” ์„œ๋ฒ„์— ๋Œ€ํ•œ Proxy๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ (Reverse Proxy)

 

๋‚ด๋ถ€ ์„œ๋ฒ„๊ฐ€ ์ง์ ‘ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด๋„ ๋˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š” ์ด์œ ๋Š” ๋ณด์•ˆ ๋•Œ๋ฌธ์ด๋‹ค.
๋ณดํ†ต ๊ธฐ์—…์˜ ๋„คํŠธ์›Œํฌํ™˜๊ฒฝ์—์„œ๋Š” DMZ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋‚ด๋ถ€๋„คํŠธ์›Œํฌ/์™ธ๋ถ€๋„คํŠธ์›Œํฌ ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋Š” ๊ตฌ๊ฐ„์ด ์กด์žฌํ•œ๋‹ค. (๋‚ด๋ถ€๋„คํŠธ์›Œํฌ/์™ธ๋ถ€๋„คํŠธ์›Œํฌ์— ๋‘˜๋‹ค ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„)
์ด ๊ตฌ๊ฐ„์—๋Š” ๋ณดํ†ต ๋ฉ”์ผ ์„œ๋ฒ„, ์›น ์„œ๋ฒ„, FTP ์„œ๋ฒ„ ๋“ฑ ์™ธ๋ถ€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.


WAS๋ฅผ DMZ์— ๋†“๊ณ  ์„œ๋น„์Šคํ•ด๋„ ๋˜์ง€๋งŒ ๋ณด์•ˆ์ƒ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง„ ์•Š๋Š”๋‹ค.

WAS๋Š” DB์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, WAS๊ฐ€ ํ•ดํ‚น๋‹นํ•  ๊ฒฝ์šฐ DB์„œ๋ฒ„๊นŒ์ง€ ํ•ดํ‚น๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๋”ฐ๋ผ์„œ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ DMZ์— ๋‘๊ณ  ์‹ค์ œ ์„œ๋น„์Šค ์„œ๋ฒ„๋Š” ๋‚ด๋ถ€๋ง์— ์œ„์น˜์‹œํ‚จ ํ›„ ์„œ๋น„์Šค ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ WEB(Apache, nginx) - WAS(Tomcat) ๋ถ„๋ฆฌ ํ˜•ํƒœ๋ฅผ Reverse ํ”„๋ก์‹œ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
์—ฌ๊ธฐ์„œ WEB(Apache, nginx)๊ฐ€ reverse proxy๊ฐ€ ๋œ๋‹ค.
๋ฌผ๋ก  ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ๊ฐ™์ด ๋ฌผ๋ฆฌ์ ์ธ ํ•œ์„œ๋ฒ„์— web, was๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด reverse proxy๋ผ๊ณ  ๋ณผ ์ˆ˜ ์—†๋‹ค.

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์‚ฌ์šฉ ์ด์ 

 

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ (Load Balancing)

์œ ๋ช…ํ•œ ์›น ์‚ฌ์ดํŠธ๋Š” ํ•˜๋ฃจ์—๋„ ์ˆ˜๋ฐฑ๋งŒ๋ช…์ด ๋ฐฉ๋ฌธํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Ÿฌํ•œ ๋Œ€๋Ÿ‰์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ•˜๋‚˜์˜ ์‹ฑ๊ธ€ ์„œ๋ฒ„๋กœ ๊ฐ๋‹นํ•ด ๋‚ด๊ธฐ๋ž€ ์–ด๋ ต๋‹ค.
ํ•˜์ง€๋งŒ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ณธ ์„œ๋ฒ„๋“ค ์•ž์— ๋‘๋ฉด ํŠน์ • ์„œ๋ฒ„๊ฐ€ ๊ณผ๋ถ€ํ™” ๋˜์ง€ ์•Š๊ฒŒ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์„œ๋ฒ„ ๋ณด์•ˆ (Security)

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์ธก ๋ณด์•ˆ์— ์ข‹๋‹ค.
๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณธ๋ž˜ ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด์ปค๋“ค์˜ DDoS ๊ณต๊ฒฉ๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์„ ๋ง‰๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ ์—์„œ ๋ณด๋ฉด, ํด๋ผ์ด์–ธํŠธ๋Š” ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„ url์—๊ฒŒ ์š”์ฒญ์„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋Š” ๋ณธ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๊ฒฝ์œ ํ•ด์„œ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.
์ด๋ ‡๊ฒŒ ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ๋ณธ ์„œ๋ฒ„์˜ url์„ ๋ชจ๋ฅธ์ฑ„ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ url์„ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋˜๊ณ , ์ด๋Š” ์ฆ‰ ๋ณธ์„œ๋ฒ„์˜ ์ •๋ณด๋ฅผ ์ˆจ๊ธฐ๋Š” ํšจ๊ณผ๊ฐ€ ๋œ๋‹ค.

์บ์‹ฑ (Caching)

๋งŒ์•ฝ ์–ด๋–ค ํ•œ๊ตญ์— ์žˆ๋Š” ์œ ์ €๊ฐ€ ๋ฏธ๊ตญ์— ์›น์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ์žˆ๋Š” ์‚ฌ์ดํŠธ์— ์ ‘์†ํ• ๋•Œ, ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ํ•œ๊ตญ์— ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž.
๊ทธ๋Ÿฌ๋ฉด ํ•œ๊ตญ์— ์žˆ๋Š” ์œ ์ €๋Š” ํ•œ๊ตญ์— ์žˆ๋Š” ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•ด์„œ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์— ์บ์‹ฑ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ๋” ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค„์ˆ˜ ์žˆ๋‹ค.
ํฌ์›Œ๋“œ ํ”„๋ก์‹œ์˜ ์บ์‹ฑ๊ณผ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. (์ •ํ™•ํžˆ ํ”„๋ก์‹œ์˜ ๋ณธ๋ž˜ ๊ธฐ๋Šฅ)

์•”ํ˜ธํ™” (Encryption)

๋งˆ์ง€๋ง‰์œผ๋กœ SSL ์•”ํ˜ธํ™”์—๋„ ์ข‹๋‹ค.
๋ณธ๋ž˜ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋“ค๊ณผ ํ†ต์‹ ์„ ํ• ๋•Œ SSL(or TSL)๋กœ ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™”๋ฅผ ํ•  ๊ฒฝ์šฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ฒŒ ๋œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ๋ชจ๋‘ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ๋‚˜๊ฐ€๋Š” ์‘๋‹ต์„ ์•”ํ˜ธํ™”ํ•ด์ฃผ๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์•ˆ์ „ํ•œ ํ†ต์‹ ์„ ํ• ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณธ๋ž˜ ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.


ํฌ์›Œ๋“œ ํ”„๋ก์‹œ vs ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์ฐจ์ด์  

 

ํ”„๋ก์‹œ ์„œ๋ฒ„ ์œ„์น˜

  • Forward Proxy ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์•ž์— ๋†“์—ฌ์ ธ ์žˆ๋Š” ๋ฐ˜๋ฉด,
  • Reverse Proxy ์„œ๋ฒ„๋Š” ์›น์„œ๋ฒ„/WAS ์•ž์— ๋†“์—ฌ ์žˆ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

 

ํ”„๋ก์‹œ ์„œ๋ฒ„ ํ†ต์‹  ๋Œ€์ƒ

  • Forward Proxy๋Š” ๋‚ด๋ถ€๋ง์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ Proxy ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•˜์—ฌ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
  • Reverse Proxy๋Š” ๋‚ด๋ถ€๋ง์—์„œ Proxy ์„œ๋ฒ„์™€ ๋‚ด๋ถ€๋ง์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•˜์—ฌ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด Proxy ์„œ๋ฒ„๊ฐ€ ๋ฐ›์•„ ์‘๋‹ตํ•ด์ค€๋‹ค.

 

 ๊ฐ์ถฐ์ง€๋Š” ๋Œ€์ƒ

  • Forward Proxy๋Š” ์ง์ ‘ ์„œ๋ฒ„ url๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด์ง€๋งŒ, Reverse Proxy๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„ url๋กœ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    ์ด๋กœ์„œ Reverse Proxy๋Š” ๋ณธ์„œ๋ฒ„์˜ IP ์ •๋ณด๋ฅผ ์ˆจ๊ธธ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ๋ฅผ ์–ป๊ฒŒ ๋œ๋‹ค.
  • Forward Proxy๋Š” ๋‚ด๋ถ€๋ง์—์„œ ์ธํ„ฐ๋„ท ์ƒ์— ์žˆ๋Š” ์„œ๋ฒ„์— ์š”์ฒญํ• ๋•Œ ๋จผ์ € ํฌ์›Œ๋“œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ”„๋ก์‹œ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋กœ์„œ ์„œ๋ฒ„์—๊ฒŒ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ๊ฐ์ถœ์ˆ˜ ์žˆ๋‹ค
    ์ฆ‰, ์„œ๋ฒ„ ์ž…์žฅ์—์„œ ์‘๋‹ต๋ฐ›์€ IP๋Š” ํฌ์›Œ๋“œ Forward Proxy์˜ IP์ด๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ˆ„๊ตฐ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

# ์ฐธ๊ณ ์ž๋ฃŒ

https://dltlabs.medium.com/demystifying-forward-and-reverse-proxies-e52eea330e85

https://okimaru.tistory.com/7