昨天成功的將IHS加入到WebSphere的管控中,並且透過WebSphere產生的plugin-cfg.xml,
成功將Client端發出的request反向代理到WebSphere
現在只要Client端發出request到IHS的port 80,並且url規則符合/Iron30/*
IHS就會自動將其轉給WebSphere的port 9080。
這些都定義在plugin-cfg.xml了,如果有要調整,也可以透過手動修改plugin-cfg.xml來實現。
今天來看一下IBM HTTP Server的log
首先先看Plug-in的log:http_plugin.log
位置如下:
/opt/IBM/WebSphere/Plugins/logs/webserver1/
如果client端可以連線到IHS,卻沒辦法透過IHS轉到WebSphere,
通常就可以透過查看http_plugin.log發現一點蛛絲馬跡
如果覺得http_plugin.log記錄得不夠詳細,也可以透過console修改log level
或者也可以自己手動改plugin-cfg.xml
再來看看IHS自己的log檔的位置
/opt/IBM/HTTPServer/logs/
它預設會將每個request記錄在access_log之中,
不過預設access_log留存的資訊很少,
隨機拿其中一筆log為例,內容只包含 Clinet IP、時間、HTTP method、URL、HTTP Status Code等資訊
172.17.0.1 - - [09/Oct/2022:17:22:09 +0000] "GET /Iron30/DemoServlet?action=testConn HTTP/1.1" 404 13
要access_log寫入哪些資訊,則是由/opt/IBM/HTTPServer/conf 裡面的httpd.conf檔定義的
httpd.conf裡面的LogFormat預設有以下四種格式,
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
目前access_log套用的格式是common
CustomLog logs/access_log common
如果將
CustomLog logs/access_log common
改成
CustomLog logs/access_log combined
重啟IHS之後,就會在access_log紀錄Referer以及User-Agent的資訊了
172.17.0.1 - - [11/Oct/2022:15:31:37 +0000] "GET /Iron30/DemoServlet?action=testConn HTTP/1.1" 200 26 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
如上