๐ ์ํ์น ↔ ํฐ์บฃ - 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) ํ๊ฒฝ์ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ด์ฅ๋ ์ํ์น๋ก๋ ๊ตฌ์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ๋ณธ ๊ฐ์์์์ ์ค์ต์ ๋ค์๊ณผ ๊ฐ์ด ์งํํ ์์ ์ด๋ค.
- ๋ด ์ปดํจํฐ์ ํฐ์บฃ์ ์ค์นํ๊ณ
- Oracle Virtual Box์ ์ํ์น(apache) ์๋ฒ๋ฅผ ๊น์
- ์ํ์น ์๋ฒ์์ ๋ด ์ปดํจํฐ์ ํฐ์บฃ ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํ๋ก์ ์ค์ ํ ์์ ์ด๋ค.
๋ด ์ปดํจํฐ์ ํฐ์บฃ ์ค์น
ํฐ์บฃ ๊ตฌ์ฑ๊ณผ ์ค์น ๋ฐฉ๋ฒ์ ๋ค์ ํฌ์คํ ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
[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
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๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ๋ ๊ฒ์ด๋ค.