์น ์์คํ
์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ์ด๋ฏธ์ง, CSS, JS ๋ฑ ์ ์ ๋ฆฌ์์ค๋ Web Server(IHS)๊ฐ ์ฒ๋ฆฌํ๊ณ , JSP, Servlet ๋ฑ ๋์ ๋ฆฌ์์ค๋ WAS๊ฐ ์ฒ๋ฆฌํ๋๋ก ์ญํ ์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค. plugin-cfg.xml ์ ์ด ๋ฐฉ์๊ณผ WAS์ fileServingEnabled ์ต์
์ฌ์ฉ๋ฒ์ ๋ค๋ฃน๋๋ค.
Test Environment
- OS: CentOS 7.2
- Web Server: IBM HTTP Server v8.5
- WAS: WebSphere Application Server v8.5
1. ๊ฐ์ ๋ฐ ๋ชฉ์
๊ธฐ๋ณธ์ ์ผ๋ก WebSphere ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ ์์ฒญ์ WAS๋ก ์ ๋ฌํ๋๋ก ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ์ ์ ํ์ผ(*.jpg, *.css ๋ฑ)๊น์ง WAS๊ฐ ์ฒ๋ฆฌํ๊ฒ ๋๋ฉด ์ปจํ
์ด๋์ ์ค๋ ๋ ์์์ ๋ญ๋นํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ๋ถ๋ฆฌํ์ฌ ์์คํ
ํจ์จ์ฑ์ ๋์ฌ์ผ ํฉ๋๋ค.
2. Method 1: Plugin-cfg.xml ์๋ ์ ์ด
๊ฐ์ฅ ์ง๊ด์ ์ธ ๋ฐฉ๋ฒ์ ์น ์๋ฒ ํ๋ฌ๊ทธ์ธ ์ค์ ํ์ผ(plugin-cfg.xml)์์ WAS๋ก ๋๊ธธ ์์ฒญ์ ํจํด(URI)์ ๊ฐ์ ๋ก ์ง์ ํ๋ ๊ฒ์
๋๋ค.
์ค์ ํ์ผ ์์
- ํ์ผ ์์น:
[IHS_ROOT]/Plugins/config/[WebServerName]/plugin-cfg.xml
- ์์ ๋ด์ฉ:
UriGroup ๋ด์์ WAS๊ฐ ์ฒ๋ฆฌํด์ผ ํ ํ์ฅ์๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ์ ๊ฑฐํ๊ฑฐ๋ ์ฃผ์ ์ฒ๋ฆฌํฉ๋๋ค.
<UriGroup Name="default_host_server1_root-PCNode01_Cluster_URIs">
<!-- WAS๊ฐ ์ฒ๋ฆฌํ ๋์ ์ปจํ
์ธ ๋ง ๋ช
์ -->
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.do"/>
<Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/>
</UriGroup>
์์ ๊ฐ์ด ์ค์ ํ๋ฉด ๋ช
์๋์ง ์์ ์ด๋ฏธ์ง๋ HTML ํ์ผ ๋ฑ์ ํ๋ฌ๊ทธ์ธ์ ํ์ง ์๊ณ ์น ์๋ฒ(IHS)๊ฐ ์์ ์ DocumentRoot ๋๋ Alias ๊ฒฝ๋ก์์ ํ์ผ์ ์ฐพ์ ์ฒ๋ฆฌํฉ๋๋ค.
3. Method 2: WAS fileServingEnabled ์ต์
์ฌ์ฉ
WebSphere ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ ์ค์ ์์ ์ ์ ํ์ผ ์๋น ๊ธฐ๋ฅ์ ๋นํ์ฑํ(False)ํ์ฌ, ํ๋ฌ๊ทธ์ธ ์์ฑ ์ ์ ์ ํ์ผ์ ๋ํ URI ๋งคํ์ ์๋์ผ๋ก ์ ์ธํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
์ค์ ํ์ผ ์์น ๋ฐ ์์
์ ํ๋ฆฌ์ผ์ด์
์ WEB-INF ๋๋ ํฐ๋ฆฌ์ ์๋ ํ์ฅ ์ค์ ํ์ผ์ ์์ ํฉ๋๋ค.
- ๊ฒฝ๋ก ์์:
[Profile_Root]/installedApps/[CellName]/[AppName].ear/[WarName].war/WEB-INF/
1) ibm-web-ext.xmi (๊ตฌ๋ฒ์ ์คํ์ผ)
<webappext:WebAppExtension ... fileServingEnabled="false" ...>
</webappext:WebAppExtension>
2) ibm-web-ext.xml (WAS v7.0 ์ด์ ๊ถ์ฅ)
<web-ext xmlns="http://websphere.ibm.com/xml/ns/javaee/web-ext/1.0" ...>
<!-- ์ ์ ํ์ผ ์๋น ๋นํ์ฑํ -->
<enable-file-serving value="false"/>
</web-ext>
์ ์ฉ ์ ์ฐจ
- ์ค์ ํ์ผ ์์ (
fileServingEnabled="false")
- WAS ๊ด๋ฆฌ ์ฝ์์์ ํ๋ฌ๊ทธ์ธ ์ฌ์์ฑ (Generate Plug-in)
- ์ฌ์์ฑ๋
plugin-cfg.xml์ ์น ์๋ฒ๋ก ์ ํ (Propagate)
์ด ๊ณผ์ ์ ๊ฑฐ์น๋ฉด plugin-cfg.xml ๋ด์ ์ ์ ํ์ผ(*.html, *.jpg ๋ฑ)์ ๋ํ URI ์ ์๊ฐ ์๋์ผ๋ก ์ญ์ ๋ฉ๋๋ค.
4. WebServer (IHS) Alias ์ค์
WAS๋ก ์์ฒญ์ด ๋์ด๊ฐ์ง ์๋ ์ ์ ํ์ผ๋ค์ ์น ์๋ฒ๊ฐ ์ฐพ์์ ์ ๊ณตํ ์ ์๋๋ก ๋ฌผ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ๋งคํํด์ผ ํฉ๋๋ค.
httpd.conf ์ค์
- ํ์ผ ์์น:
[IHS_ROOT]/conf/httpd.conf
- ์ค์ ์์: URL์
/images ์์ฒญ์ ์ค์ ์๋ฒ์ /home/images ๋๋ ํฐ๋ฆฌ๋ก ์ฐ๊ฒฐ
# ์ ์ ๋ฆฌ์์ค ๊ฒฝ๋ก ๋งคํ
Alias /images /home/images
<Directory "/home/images">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
5. ์์ฝ ๋ฐ ์ฃผ์์ฌํญ
- Full URI ํจํด ์ฃผ์:
plugin-cfg.xml์ Name="*" ์ ๊ฐ์ ์ค์ ์ด ์๋ค๋ฉด ๋ชจ๋ ์์ฒญ์ด WAS๋ก ๋์ด๊ฐ๋๋ค. ์ฑ๋ฅ ์ ํ์ ์ฃผ์์ธ์ด๋ฏ๋ก ์ญ์ ํด์ผ ํฉ๋๋ค.
- ๋๊ธฐํ:
fileServingEnabled ์ต์
์ ๋ณ๊ฒฝํ๋ค๋ฉด ๋ฐ๋์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์์ฑ ๋ฐ ์ ํํ๊ณ ์น ์๋ฒ๋ฅผ ์ฌ๊ธฐ๋(Restart) ํด์ผ ์ ์ฉ๋ฉ๋๋ค.
- ๋ฐฐํฌ ์ ๋ต: ์ ์ /๋์ ๋ถ๋ฆฌ ๊ตฌ์ฑ ์, ๊ฐ๋ฐํ์ ์ ์ ๋ฆฌ์์ค(์ด๋ฏธ์ง ๋ฑ)๋ฅผ WAS ๋ฐฐํฌ ํจํค์ง(WAR/EAR)์ ๋ณ๋๋ก ์น ์๋ฒ ๊ฒฝ๋ก์ ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฆฝํด์ผ ํฉ๋๋ค.
Next Step:
๊ตฌ์ฑ์ด ์๋ฃ๋์๋ค๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ(F12)์ Network ํญ์ ํตํด ์ ์ ํ์ผ ์์ฒญ ์ Response Header์ Server: IBM_HTTP_Server๊ฐ ์ฐํ๋์ง(WAS ์ ๋ณด๊ฐ ์๋์ง) ํ์ธํ์ฌ ๋ถ๋ฆฌ ์ฒ๋ฆฌ๊ฐ ์ ์์ ์ธ์ง ๊ฒ์ฆํด๋ณด์ญ์์ค.