修改ihs对应的was配置,将was被访问的虚拟主机中加入ihs的服务端口,若不进行该配置,was无法处理ihs转发过来的交易。
如ihs的服务端口为8080,访问was的7001端口,对应的虚拟主机为xxx_host,需将8080端口也添加到was的虚拟主机xxx_host中。
a. 假如ih7安装包解压后在/ptf/IHS7/IHS目录中,首先进入该目录;
cd /ptf/IHS7/IHS |
b. 创建响应文件,以下内容,=””中间不能有空格,否则会出错
cat > ihs_install_responsefile.txt <<! -OPT silentInstallLicenseAcceptance="true" -OPT allowNonRootSilentInstall="true" -OPT disableOSPrereqChecking="true" -OPT installLocation="/was/IBM/HTTPServer" -OPT httpPort="8080" -OPT adminPort="8008" -OPT createAdminAuth="true" -OPT adminAuthUser="admin" -OPT adminAuthPassword="admin" -OPT adminAuthPasswordConfirm="admin" -OPT runSetupAdmin="true" -OPT createAdminUserGroup="true" -OPT setupAdminUser="admin" -OPT setupAdminGroup="admin" -OPT installHttpService="true" -OPT installAdminService="true" -OPT installPlugin="true" -OPT webserverDefinition="webserver1" -OPT washostname="wasapp" ! |
c. 以root用户执行静默安装(若IHS安装包对应属主为was,也可使用was用户安装),命令如下。在安装前,不需创建/was/IBM/HTTPServer目录,否则会报错,在下一步骤的日志文件中
./install -options ihs_install_responsefile.txt -silent |
d. 检查安装日志/was/IBM/HTTPServer/logs/install/log.txt,只要出现INSTCONFSUCCESS表示操作成功
e. 将/was/IBM/HTTPServer目录属主设为was用户
安装ihs时,设置服务端口为8080(若不进行该设置,需在httpd.conf文件增加Listen 8080),不使用80端口,否则需要使用sudo启动ihs进程,将Web server名字设置为webserver1。
将htdoc目录改名为htdocs_bak;
创建htdocs目录;
将error.html、error.gif(错误提示页面)上传到htdocs目录;
将htdocs目录权限改为555。
cd /was/IBM/HTTPServer mv htdocs htdocs_bak mkdir htdocs 将error.html、error.gif上传到htdocs目录 chmod 555 htdocs |
将/was/IBM/HTTPServer/conf/httpd.conf备份为httpd.conf.bak,修改httpd.conf,修改内容如下(可使用修改好的文件直接替换):
a. 设置ihs服务端口(以8080为例),ServerName统一修改为*,方便替换文件
ServerName [主机名]:8080 改为 ServerName *:8080 |
b. 指定监听端口(以8080为例)
Listen 8080 |
c. 设置不显示目录结构,若不进行该修改,在DocumentRoot "htdocs"目录下若存在目录dir,且目录dir中不存在index.html,使用浏览器访问http://xxxx:port/dir时,会列出dir目录列表
Options Indexes FollowSymLinks 改为 Options FollowSymLinks |
d. 在HTTP返回内容中不显示服务器版本等信息
ServerSignature On 改为 ServerSignature Off |
e. 在HTTP返回头的Server字段不显示服务器版本等信息
需确保为ServerTokens Prod,不能修改为其他值 |
f. 修改日志在指定的目录每天生成一个
CustomLog logs/access_log common 改为 CustomLog "|/was/IBM/HTTPServer/bin/rotatelogs /was/log/ihs/access_log-%y%m%d.log 86400 480" common |
ErrorLog logs/error_log 改为 ErrorLog "|/was/IBM/HTTPServer/bin/rotatelogs /was/log/ihs/error_log-%y%m%d.log 86400 480" |
g. 禁止对/icons/目录的访问权限
<Directory "/was/IBM/HTTPServer/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> 改为 <Directory "/was/IBM/HTTPServer/icons"> Options None AllowOverride None Order allow,deny </Directory> |
h. 防止出现安全隐患
在尾部加上TraceEnable off |
i. 修改错误提示页面
ErrorDocument 400 /error.html ErrorDocument 403 /error.html ErrorDocument 404 /error.html ErrorDocument 500 /error.html ErrorDocument 501 /error.html |
将/was/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml备份为plugin-cfg.xml.bak,修改plugin-cfg.xml,修改内容如下(可使用修改过的文件直接替换):
a. VirtualHostGroup修改为ocs_host,对应was的虚拟主机,需加入ihs的服务端口(8080)与was的服务端口(7001)
<VirtualHostGroup Name="default_host"> <VirtualHost Name="*:9080"/> <VirtualHost Name="*:80"/> <VirtualHost Name="*:9443"/> 改为 <VirtualHostGroup Name="ocs_host"> <VirtualHost Name="*:8080"/> <VirtualHost Name="*:7001"/> |
b. Transport节点的Hostname需修改为对应was的负载均衡主机名(以wasapp_f5为例),Port需修改为was的服务端口,由于was仅提供HTTP访问,不提供HTTPS访问,HTTPS相关配置可不考虑
<Transport Hostname="newcallcenter8" Port="9080" Protocol="http"/> <Transport Hostname="newcallcenter8" Port="9443" Protocol="https"> <Property name="keyring" value="/was/IBM/HTTPServer/Plugins/etc/plugin-key.kdb"/> <Property name="stashfile" value="/was/IBM/HTTPServer/Plugins/etc/plugin-key.sth"/> 改为 <Transport Hostname="ocs_wasapp_f5" Port="7001" Protocol="http"/> <Transport Hostname="ocs_wasapp_f5" Port="9443" Protocol="https"> <Property name="keyring" value="/was/IBM/HTTPServer/Plugins/config/webserver1/plugin-key.kdb"/> <Property name="stashfile" value="/was/IBM/HTTPServer/Plugins/config/webserver1/plugin-key.sth"/> |
c. /custim/*对应was应用的上下文根
<UriGroup Name="server1_Cluster_URIs"> ... 改为 <UriGroup Name="server1_Cluster_URIs"> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/custim/*"/> </UriGroup> |
d. 使用VirtualHostGroup之前配置的ocs_host
<Route ServerCluster="server1_Cluster" UriGroup="server1_Cluster_URIs" VirtualHostGroup="default_host"/> 改为 <Route ServerCluster="server1_Cluster" UriGroup="server1_Cluster_URIs" VirtualHostGroup="ocs_host"/> |