Server/Apache

๐ŸŒ ์•„ํŒŒ์น˜ ↔ ํ†ฐ์บฃ - Reverse Proxy ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐฉ๋ฒ•

์ธํŒŒ_ 2022. 6. 27. 09:44

apache-Reverse Proxy

์•„ํŒŒ์น˜ Reverse Proxy ํ™˜๊ฒฝ ๊ตฌ์ถ•

Proxy๋Š” Forward / Reverse Proxy ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ,

๋ณดํ†ต Forward Proxy๋Š” ์‚ฌ๋‚ด๋ง Client์—์„œ ์™ธ๋ถ€์— ์žˆ๋Š” ์›น์„œ๋ฒ„๋ฅผ ์ ‘๊ทผํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ(๋ฏธ๋ฆฌ Proxy ์ง€์ •์ด ํ•„์š”ํ•จ),

Reverse Proxy๋Š” Client์—์„œ ์›น์„œ๋ฒ„์— ์ ‘๊ทผ ํ•  ๋•Œ, ๋‚ด๋ถ€๋ง์— ์œ„์น˜ํ•œ WAS์„œ๋ฒ„๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์š”์ฒญํ•œ Request์— ๋Œ€ํ•ด Response๋ฅผ ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

 

์•„ํŒŒ์น˜์™€ ํ†ฐ์บฃ์— ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ(reverse proxy) ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์ด์œ ๋Š” ํ†ฐ์บฃ์— ์˜ฌ๋ฆฐ ์›น ์„œ๋น„์Šค์˜ ์„œ๋ฒ„ ip๋ฅผ ์™ธ๋ถ€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ฐ์ถ”๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋ฉฐ(๋ณด์•ˆ), ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๊ธฐ๋Šฅ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์„ ํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ฐ€์šฉ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด๋‹ค.

 

* Reverse Proxy์— ๋Œ€ํ•ด ์ž์„ธํ•œ ์›๋ฆฌ๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ  ๋ฐ”๋ž€๋‹ค.

 

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

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

inpa.tistory.com

 

์•„ํŒŒ์น˜(Web Server)์™€ ํ†ฐ์บฃ(WAS)์˜ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๊ตฌ์„ฑ์œผ๋กœ๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, ์™ธ๋ถ€ ์ปดํ“จํ„ฐ์— ์•„ํŒŒ์น˜(Apache) ์„œ๋ฒ„๋ฅผ ๋‘๊ณ , ๊ทธ ์•„ํŒŒ์น˜๊ฐ€ ํ†ฐ์บฃ ์„œ๋ฒ„ IP๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•ด์„œ ๊ตฌ์„ฑํ•˜๋Š” ํŽธ์ด๋‹ค.

๋ฌผ๋ก  ์•„ํŒŒ์น˜ ํ†ฐ์บฃ ์ž์ฒด์—๋„ ์•„ํŒŒ์น˜(apache)์˜ ๊ธฐ๋Šฅ์ด ๋“ค์–ด์žˆ์–ด web server ๊ธฐ๋Šฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ(Reverse Proxy) ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‚ด์žฅ๋œ ์•„ํŒŒ์น˜๋กœ๋Š” ๊ตฌ์„ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

apache-Reverse Proxy

๋”ฐ๋ผ์„œ ๋ณธ ๊ฐ•์˜์—์„œ์˜ ์‹ค์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค.

  1. ๋‚ด ์ปดํ“จํ„ฐ์— ํ†ฐ์บฃ์„ ์„ค์น˜ํ•˜๊ณ 
  2. Oracle Virtual Box์— ์•„ํŒŒ์น˜(apache) ์„œ๋ฒ„๋ฅผ ๊น”์•„
  3. ์•„ํŒŒ์น˜ ์„œ๋ฒ„์—์„œ ๋‚ด ์ปดํ“จํ„ฐ์˜ ํ†ฐ์บฃ ์„œ๋ฒ„๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ”„๋ก์‹œ ์„ค์ • ํ•  ์˜ˆ์ •์ด๋‹ค.

๋‚ด ์ปดํ“จํ„ฐ์— ํ†ฐ์บฃ ์„ค์น˜

ํ†ฐ์บฃ ๊ตฌ์„ฑ๊ณผ ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

 

[TOMCAT] ๐Ÿฑ ์•„ํŒŒ์น˜ / ํ†ฐ์บฃ ๊ฐœ๋… ๊ตฌ์„ฑ & ์„ค์ • ๐Ÿ’ฏ ์ •๋ฆฌ

์•„ํŒŒ์น˜ (Apache) ์™€ ํ†ฐ์บฃ (Tomcat) ์•„ํŒŒ์น˜ (Apache) ์•„ํŒŒ์น˜ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์—์„œ ๋งŒ๋“  ์›น์„œ๋ฒ„(web server)๋ฅผ ์ผ์ปซ๋Š”๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” httpd ๋กœ ๋ช…๋ช…์ง€์–ด์ ธ ๋ฐฐํฌ๋œ๋‹ค. ์ •์ ์ธ ๋ฐ์ดํ„ฐ๋“ค (html, css ์ด๋ฏธ์ง€, ํŒŒ์ผ..

inpa.tistory.com


๊ฐ€์ƒ ๋จธ์‹ ์— ์•„ํŒŒ์น˜ (Apache) ์„œ๋ฒ„ ์„ค์น˜

์•„ํŒŒ์น˜ ๊ตฌ์„ฑ๊ณผ ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

 

[APACHE] ๐ŸŒ ์•„ํŒŒ์น˜ ์„œ๋ฒ„ ์ดˆ๊ฐ„๋‹จ ์„ค์น˜ ๋ฐฉ๋ฒ•

Apache ์„œ๋ฒ„ ์„ค์น˜ํ•˜๊ธฐ 1. ์•„๋ž˜ ๋งํฌ๋กœ ๋“ค์–ด๊ฐ€ ์•„ํŒŒ์น˜ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•ด์ค€๋‹ค. Apache VS16 binaries and modules download www.apachelounge.com 2. ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ์••์ถ•ํŒŒ์ผ์„ ํ’€์–ด Apache24 ํด๋”๋ฅผ C: ๋“œ๋ผ์ด๋ธŒ..

inpa.tistory.com


์•„ํŒŒ์น˜ ํ”„๋ก์‹œ ์„ค์ •ํ•˜๊ธฐ

 

์•„ํŒŒ์น˜ ์—ฐ๋™ ๋ฐฉ์‹

Apache์™€ tomcat(WAS)๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ๋‹ค.

์˜ˆ์ „๋ถ€ํ„ฐ ๋งŽ์ด ์“ฐ๋˜ ๋ฐฉ๋ฒ•์€ tomcat connector(mod_jk)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” mod_proxy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ reverse proxy ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋งˆ์ง€๋ง‰์€ mod_proxy_ajp ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AJP Protocol์„ reverse proxy ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

mod_proxy ๊ฐ€ mod_jk ์— ๋น„ํ•ด ์„ค์ •์ด ๊ฐ„ํŽธํ•˜๊ณ  AJP ๊ฐ™์€ ํŠน์ • WAS ์˜์กด์ ์ธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋” ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค.

์—ฐ๊ฒฐ ๋ฐฉ์‹ ์žฅ์  ๋‹จ์ 
mod_jk - Tomcat Connector๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
- ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•ด์˜จ ๋ฐฉ์‹
- mod_jk ๊ด€๋ จ ์ž๋ฃŒ๊ฐ€ ๋งŽ์Œ
- JKMount ์˜ต์…˜์„ ์ด์šฉํ•˜๋ฉด URL์ด๋‚˜ ์ปจํ…์ธ  ๋ณ„๋กœ ์œ ์—ฐํ•œ ์„ค์ • ๊ฐ€๋Šฅ
- ๋ณ„๋„์˜ ๋ชจ๋“ˆ ์„ค์น˜ ํ•„์š”
- ์„ค์ •์ด ์–ด๋ ค์›€
- Tomcat ์ „์šฉ
mod_proxy - Reverse Proxy ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
- ๋ณ„๋„ ๋ชจ๋“ˆ ์„ค์น˜๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์Œ
- ํŠน์ • WAS์— ์˜์กด์ ์ด์ง€ ์•Š์Œ
- URL์— ๋”ฐ๋ฅธ ์œ ์—ฐํ•œ ์„ค์ •์ด ์–ด๋ ค์›€
mod_proxy_ajp - AJP Protocol์„ Reverse Proxy๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
- ๋ณ„๋„ ๋ชจ๋“ˆ ์„ค์น˜๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์Œ
- ํŠน์ • WAS์— ์˜์กด์ ์ด์ง€ ์•Š์Œ
- URL์— ๋”ฐ๋ฅธ ์œ ์—ฐํ•œ ์„ค์ •์ด ์–ด๋ ค์›€
AJP: Apache ์›น์„œ๋ฒ„๊ฐ€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ

 

mode proxy ์„ค์ •

์šฐ๋ฆฌ๋Š” Reverse Proxy ์ธํ”„๋ผ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ๊ฒƒ์ด๊ธฐ์—, mod_proxy ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด์„œ ๊ตฌ์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.

 

1. /apache/conf/httpd.conf ํŒŒ์ผ์„ ์—ด์–ด mod_proxy ๋ชจ๋“ˆ ํ™œ์„ฑํ™”

httpd.conf ํŒŒ์ผ์„ ์—ด๊ณ  ์•„๋ž˜ ๋ชจ๋“ˆ์˜ ์ฃผ์„์„ ํ’€์–ด์ค€๋‹ค. (httpd.conf์˜ ๊ฒฝ๋กœ๋Š” ์„ค์น˜์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.)

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

Include conf/extra/httpd-vhosts.conf

apache-Reverse Proxy
apache-Reverse Proxy

 

 

2. ๊ทธ๋‹ค์Œ /apache/conf/extra/httpd-vhost.conf ํŒŒ์ผ ์—ด์–ด <VirtualHost *:80> ๋ถ€๋ถ„์„ ์ง€์šฐ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŽธ์ง‘ํ•ด์ค€๋‹ค.

<VirtualHost *:80>
	
	# Forward Proxy ๊ฒฝ์šฐ On / Reverse Proxy Off
	ProxyRequests Off

	# ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ฐ›์€ HTTP ์š”์ฒญ์„ Proxy ์š”์ฒญ์‹œ ์‚ฌ์šฉ
    # Reverse ๊ฒฝ์šฐ On์œผ๋กœ ํ•ด์•ผํ•จ
	ProxyPreserveHost On

	# Proxy์— ์—ฐ๊ฒฐํ•  URL 
    # ServerHost:localhost -> Apache -> ProxyPass URL
	ProxyPass / http://192.168.10.146:8080/service/ # ๋’ค์— ์Šฌ๋ž˜์‰ฌ๋Š” ๋ถ™์—ฌ์ค˜์•ผํ•จ

	# WAS ๊ฐ€ redirect HTTP ์‘๋‹ต์„ ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ Location, Content-Location HTTP ํ—ค๋”๋ฅผ ์ˆ˜์ • ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•œ๋‹ค.
	# reverse proxy๊ฐ€ ์ด ํ—ค๋”๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” redirect ์‹œ ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๊ผญ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
	ProxyPassReverse / http://192.168.10.146:8080/service/

	# ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ - ๊ฒฝ๋กœ ๋ถ„๊ธฐ
	<Location /html>
		ProxyPass http://192.168.10.146:8080/html/
		ProxyPassReverse http://192.168.10.146:8080/html/
	</Location>
    
    <Location /user>
		ProxyPass http://192.168.10.146:8080/user/
		ProxyPassReverse http://192.168.10.146:8080/user/
	</Location>
	
</VirtualHost>

 

 

3. ์•„ํŒŒ์น˜ ์„œ๋ฒ„๋ฅผ ์žฌ์‹œ์ž‘ ํ•ด์ค€๋‹ค.

C:\Apache24\bin > httpd.exe -k restart

์ด์ œ ์•„ํŒŒ์น˜ IP๋กœ ์ ‘์†ํ•ด๋ณด๋ฉด, proxypass๋กœ ์—ฐ๊ฒฐํ•œ url๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๋  ๊ฒƒ์ด๋‹ค.