ihs:ibm http server
ihs plugin:ibm http server
关于ihs和plugin的一些知识
ihs就是一个以apache为基础的web服务器,由于其出色的静态页面处理。
ihs的安装就是next,next完成。
plugin的安装也是一步一步完成,需要注意的是其中的一步需要指定ihs的配置文件,这个时候安装程序会对ihs的配置文件httpd.conf修改
添加以下两行:
LoadModule was_ap20_module "D:\Program Files\IBM\WebSpherePlugins\bin\mod_was_ap20_http.dll"
WebSpherePluginConfig "D:\Program Files\IBM\WebSpherePlugins\config\webserver1\plugin-cfg.xml"
第一行:估计是连plugin的一个dll文件
第二行:就是指定了plugin安装目录的的配置文件
如果仅仅是简单的web请求转发到应用服务器,仅仅需要配置plugin-cfg.xml就可以。
一个最重要的配置入口如下
<Route ServerCluster="angelServer_Cluster"
UriGroup="angelServer_Cluster_URIs" VirtualHostGroup="default_host"/>
这个route指的是 一个url来自"default_host"的"angelServer_Cluster_URIs"请求会通过ServerCluster定义的服务器做请求转发。
1.VirtualHostGroup的定义
以下是一个典型的VirtualHostGroup定义
<VirtualHostGroup Name="default_host">
<VirtualHost Name="*:9080"/>
<VirtualHost Name="*:80"/>
<VirtualHost Name="*:9443"/>
</VirtualHostGroup>
上述的定义描述了一个虚拟主机的组,所有满足这个组的任何一个虚拟主机的url请求都是符合这个route的转发要求的,
官方的解释如下:
The name used for a virtual or real machine used to determine if incoming requests should be handled by WebSphere Application Server or not. Use this element to specify host names that will be in the HTTP Host header which should be seen for requests that need to be handled by the application server.
比如:http://127.0.0.1/angelServer就是一个符合请求的url。
为什么这里取名为VirtualHostGroup而不是HostGroup,我的理解是目前互联网的大部分应用都是基于虚拟主机的,很有可能plugin所安装的机器
上面的webServer就是做了一个多虚拟主机。
补充:开开始对于拟主机的理解还仅仅限于dns,不错dns是必须支持的。看看以下场景
A:请求www.aaa.com/index.html
B.请求www.bbb.com/index.html
而且这两个域名只对应一个主机。仅仅单靠dns是无法做到的,必须要用到虚拟主机的技术。如果仅靠DNS的那AB两个请求就是一个资源了,无法定制个性的主页。
2.UriGroup的定义
<UriGroup Name="angelServer_Cluster_URIs">
<Uri Name="/angelServer/remoting/*"/>
<Uri Name="/angelServer/*"/>
</UriGroup>
试想一下VirtualHostGroup定义了虚拟主机的条件,后面的url请求串也需要做限制。
上述的定义就是把所有满足/angelServer/remoting/*和/angelServer/* 的请求做转发。
3.ServerCluster的定义
<ServerCluster Name="angelServer_Cluster" CloneSeparatorChange="false" LoadBalance="Round Robin"
PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60">
<Server Name="server1" ConnectTimeout="0" ExtendedHandshake="false"
LoadBalanceWeight="1" MaxConnections="-1" WaitForContinue="false">
<Transport Hostname="172.22.6.99" Port="9080" Protocol="http"/>
<Transport Hostname="172.22.6.99" Port="9443" Protocol="https">
<Property name="keyring" value="D:\Program Files\IBM\WebSpherePlugins/etc/plugin-key.kdb"/>
<Property name="stashfile" value="D:\Program Files\IBM\WebSpherePlugins/etc/plugin-key.sth"/>
</Transport>
</Server>
<Server Name="server2" ConnectTimeout="0" ExtendedHandshake="false"
LoadBalanceWeight="1" MaxConnections="-1" WaitForContinue="false">
<Transport Hostname="10.6.36.101" Port="9084" Protocol="http"/>
<Transport Hostname="10.6.36.101" Port="9443" Protocol="https">
<Property name="keyring" value="D:\Program Files\IBM\WebSpherePlugins/etc/plugin-key.kdb"/>
<Property name="stashfile" value="D:\Program Files\IBM\WebSpherePlugins/etc/plugin-key.sth"/>
</Transport>
</Server>
</ServerCluster>
ServerCluster就是定义了一组用于处理(handle)http请求的was服务器清单。下面是它的几个重要属性:
Name:名字
LoadBalance:负载均衡算法。默认就是Round Robin (轮叫调度),Round Robin 算法刚开始 随机选择一个server开始,然后循环选择。
CloneSeparatorChange:使用此属性维护会话亲合关系。服务器的克隆标识被附加到用冒号分隔的会话标识中。在一些无线应用协议(WAP)设备中 ,不允许有冒号。将此属性设置成“true”,以将克隆分隔符更改为加号(+). PostSizeLimit:插件尝试将请求发送到应用程序服务器时所允许的请求内容最大字节数。如果接收到大于此大小的请求,则插件不会发送该请求。缺省值为 -1 个字节,表明发布大小没有限制。
RemoveSpecialHeaders:在将请求转发到应用程序服务器之前,插件将一些特殊的头添加到请求。这些头存储关于应用程序将需要使用的请求的信息。缺省情况下,插件在添加它假定要添加的头前,将从入局请求中除去这些头。
RetryInterval:一个指定时间长度的整数,这段时间应该是从将服务器标记为当机的时间到插件重试连接的时间。缺省值为 60 秒。
其他的补充:
关于plugin的映射目前有以下结论:
场景:WAS A 和WAS B构成cluster
1.如果WAS A 的server级别停止,则was plugin会识别故障机器
2.如果WAS A 的应用程序停止,则ws plugin不会识别,因为was会有响应,只不过这个响应是虚拟主机无法映射,plugin不知道这是个错误。
plugin中的属性ExtendedHandshake默认是false,这个属性是这么解释的:
plugin和was之间如果有防火墙的话,会出现即使was挂了,plugin也会去请求挂了的服务器,导致错误的响应。
为什么会出现这种情况:原因是plugin会使用connect()去尝试连接来确定一个服务器是好的,如果有防火墙的话,connect()会返回好的。造成假象。ExtendedHandshake设置为true的话,会多增加几次握手,确保was是好的,避免不能从故障机器转移。
关于IHS plugin的一个问题
需求由来:客户端通过plugin请求was clustet,plugin会按照算法选择一个was server响应请求,比如登陆在a机器了,但是随后的其他的操作很有可能在b上面操作,这样导致一个问题。比如在b机器上面发生错误,发送给angelMonitor的日志信息无法获取正确的用户信息。能不能在那台was机器上登陆的,以后的操作plugin都会把请求转发到这个was上呢,答案是能!!
在plugin 6.1 以后有一个serverCluster的 IgnoreAffinityRequests="true" 的属性 默认是true ,意思是忽略有联系的session的请求,如果该属性设置为false 则需要server的ColneID属性也设置。
如何设置server的ColneID,对于已经做好was cluster的server,目前还没有去看怎么做。
对于两台独立的server 可以在web container里面设置HttpSessionCloneId键值对,然后在plugin的server的ColneID属性也设置相同的值。
实际上用的是cookie的技术,was server会在http 的session的cookie中设置一个colneID,以后客户端就有这个cookie了,也有coloneID了,
plugin也就知道他以前是请求的哪个server了,再次请求的时候会转发到具有这个colneID的server
分享到:
相关推荐
3. **Plugin 已安装**:Plugin 用于连接 IHS 和 WAS,使 IHS 可以作为 WAS 的前端代理服务器。 #### 三、配置步骤 ##### 1. 安装必要的插件 首先需要安装两个插件:IMBHTTPSERVER 和 Plugin。这两个插件可以通过 ...
3. 安装IHS7.0:执行安装命令,安装IHS7.0和Plugin 4. 配置IHS7.0:配置IHS7.0的基本设置,包括服务器名称、端口号、文档根目录等 5. 启动IHS7.0:启动IHS7.0服务 四、IHS配置管理 1. 配置文件:IHS7.0的配置文件...
4. **安装和配置IHS插件**: - IHS插件是与WAS通信的关键组件,它允许IHS将请求转发到后端WAS实例。 - 从IBM官方站点下载适用于你的WAS版本和操作系统的IHS插件。 - 运行插件安装脚本,例如:`./plugin-cfg ...
IHS 安装文件可以从官方网站下载,安装过程中需要选择安装位置和端口号,输入密码和用户标识,选择 Web 服务器定义等。整个安装过程可以分为以下几个步骤: 1. 安装 IHS:打开安装文件,选择安装位置和端口号,输入...
WAS 集群集成 IHS 傻瓜教程 本教程将指导您如何将 IBM WebSphere Application ...整个集成步骤可以总结为六步:安装 Dmgr、安装 App Server、将 App Server 加入 Dmgr、安装 IHS、安装 IHS Plugin、配置 IHS Plugin。
- **安装和配置IHS**:首先,安装IBM HTTP Server并进行基本配置,包括设置监听端口、SSL配置等。 - **安装插件**:获取适合版本的WAS-IHS插件,安装到IHS服务器上。 - **配置插件配置文件(plugin-cfg.xml)**:...
1. 安装和配置IHS: 首先,你需要在服务器上安装IHS,然后配置IHS以代理WAS集群。这通常包括设置虚拟主机、监听端口和SSL证书。 2. 配置WAS集群: 在WAS管理控制台中创建集群,添加成员服务器,并配置集群属性,如...
3. **安装** 新证书到`plugin-key.kdb`中。 4. **重新启动** IHS服务以使更改生效。 #### 六、注意事项 - 在执行任何操作前,请确保备份当前的`plugin-key.kdb`文件,以防意外情况发生。 - 如果在过程中遇到问题,...
- 在执行集成脚本之前,确保WAS和IHS都已经正确安装并配置好环境变量。 - 在执行脚本过程中,注意检查输出的日志信息,以便于发现问题并及时解决。 - 完成集成后,建议进行全面的功能测试,确保系统能够正常运行。 ...
- 在解压后的`plugin`目录下找到安装程序并执行安装。 - **注意事项**: - 检查插件是否正确安装,可通过WAS控制台进行验证。 ##### 4. 配置WebServer与WAS集成 - **步骤**: - 进入WAS控制台,检查WebServer...
### WAS+IHS虚拟主机配置知识点详解 #### 一、WAS与IHS简介 ...此外,通过配置虚拟主机和使用 IHS 作为前端的反向代理服务器,可以有效地提高系统的可伸缩性和安全性。这对于大型企业级应用来说是非常重要的。
### IHS升级手册知识点解析 #### 一、备份配置文件 在进行任何系统或软件的升级之前,确保数据的安全性是...在实际操作中,还需要注意遵循官方文档的指导,确保每一步都准确无误地执行,以保障系统的稳定性和安全性。
"IHS无法通过80端口连接到...IHS无法通过80端口连接到WAS应用端口的问题是由于IHS的配置文件或插件配置文件不正确所引起的,解决办法可以通过观察IHS的配置文件、生成插件配置文件和覆盖插件配置文件并重启IHS来解决。
以上步骤概述了如何在Red Hat 5.5 64位中文版操作系统上安装、配置和升级WAS 7.0及IHS 7.0的过程。这些步骤涵盖了从系统语言设置到具体软件安装与升级的所有关键方面,为用户提供了全面的指导和支持。
为了能够正确地安装和配置 IBM HttpServer,需要掌握相应的安装和配置流程。 安装 IBM HttpServer 在安装 IBM HttpServer 之前,需要先安装 WebSphereApplication Server。WebSphere Application Server 是一个...
2. 在服务器->服务器类型->Web服务器下,点击[新建]生成plugin和配置文件。 3. 填写Web服务器的配置名、主机名,选择插件类型为IBM HTTP Server。 4. 指定plugin的输出目录,例如`d:\deployment\HTTPServer`,等待...
4、Plugin安装 Web server plug-in安装 IHS plug-in安装 管理插件配置文件 5、系统管理-体系架构 系统管理任务 系统架构 Web Server定义 WAS V5与V6系统管理相关主题比较 6、系统管理-配置库 单元配置库 单...
配置IHS集成主要包括两个步骤:修改IHS的`httpd.conf`文件和更新`plugin-cfg.xml`。在`httpd.conf`文件中,需要加载WebSphere插件模块并指定`plugin-cfg.xml`文件的位置。例如,添加类似以下的虚拟主机配置: ```...