一般而言,WebSphere作為Application Server是不會直接連到外網,也不會讓外網的客戶端直接連進來,
通常我們還會建一個Web Server,客戶端需透過Web Server才能連到Application Server,
一定程度上可以讓較為重要的Application Server避免遭受外部Internet的攻擊。
而IBM產品中,Web Server的角色通常就是交給IBM HTTP Server來扮演。
IBM HTTP Server,簡稱IHS,實際上就是Apache HTTP Server的變體,一樣作為反向代理伺服器使用,所以只要稍微有碰過Aphace的人,很快會發現相關設定幾乎一模一樣。
剩下幾天,我想分配到IHS上。
在系統的維運上,如果只把IHS當作WebSphere的從屬品,建置完成之後設定都只使用預設的話是很可惜,
WAS要學,IHS也要學,這樣才算健全
先建置環境,
為了節省時間,一樣使用docker image,
由於官方未提供IHS的image,我找了第三方提供的image來使用,
由於不是要在正式環境運行,在沒有要掛載volume的情況下不需要太擔心
docker pull rodrigoerazohermosilla/ibm-http-server:8.5.5.9
下載中
建立container
docker run --name test-ihs2 -p 443:443 -p 80:80 -d rodrigoerazohermosilla/ibm-http-server:8.5.5.9 sleep infinity
這邊我加了指令sleep infinity,避免container在IHS服務停止後跟著關閉
接著從瀏覽器進入
http://localhost/
就可以看到IHS的預設畫面了
一般在看到這個畫面之後,我們的反應就是:趕快把這個東西給我拿掉!
在營運環境下,太容易讓人知道你使用哪種伺服器絕非好事,會讓有心人士更容易找到攻擊的方向。
要拿掉畫面很簡單,進入容器內的以下路徑,
/opt/IBM/HTTPServer/htdocs
就可以看到首頁index.html、樣式、圖片都放在這裡。
稍微移動一下
cd /opt/IBM/HTTPServer
mv htdocs htdocs_bak
首頁就被移除了
不過在404頁面還是自報門戶:IBM_HTTP_Server at localhost Port 80
這裡稍後處理,先建立一個新的htdocs目錄跟index.html
mkdir htdocs
cd htdocs
cat - > index.html
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>ironman day 23</p>
</body>
</html>
(ctrl +D 跳出編輯)
現在有首頁了,但到了不存在的路徑還是會顯示404
來處理404畫面
cd /opt/IBM/HTTPServer/conf
#安裝vim
apt-get update
apt-get install vim
vi httpd.conf
編輯httpd.conf設定檔,
加入這行
ErrorDocument 404 "404 Not Found"
指定如果httd status 是404,就回應字串"404 Not Found"
其他400、401、500狀態也可以用相同方式修改
存檔後重啟IHS
httpd.conf的修改都要重啟才會生效
cd /opt/IBM/HTTPServer/bin
apachectl stop
apachectl start
完成
明天就用console將IHS加入WebSphere的管理