linux 环境下weblogic 怎样在域下面新建多个服务器
[root@ladb2 bin]#/oracle/middleware/wlserver_121/common/bin
[root@ladb2 bin]# /configsh -mode=console
<---------------------------------------------------------------------------------- Fusion Middleware 配置向导 ---------------------------------------------------------------------------------->
欢迎使用:
-------------
在创建和扩展域之间选择。根据您的选择, 配置向导将引导您完成生成新域或扩展现有域的步骤。
->1|创建新的 WebLogic 域
| 在您的项目目录中创建 WebLogic 域。
2|扩展现有的 WebLogic 域
| 使用此选项可以向现有域添加新组件以及修改配置设置。
输入要选择的索引号 或 [退出][下一步]>
<---------------------------------------------------------------------------------- Fusion Middleware 配置向导 ---------------------------------------------------------------------------------->
选择域源:
-------------
选择要从中创建域的源。可以通过 在所需的组件中选择或在现有域模板列表中选择来创建域。
->1|选择 Weblogic Platform 组件
| 您可以选择希望在域中支持的 Weblogic 组件。
2|选择定制模板
| 如果要使用现有模板, 请选择此选项。 此模板可以是使用模板构建器创建的定制模板。
输入要选择的索引号 或 [退出][上一步][下一步]>
<---------------------------------------------------------------------------------- Fusion Middleware 配置向导 ---------------------------------------------------------------------------------->
应用程序模板选择:
-------------------------
楼主用的是windows环境吧。jdk的环境变量检查一下看看。表面上看是类的名称错误,其实更有可能是classpath环境变量没有配置好。建议复查类的名称包括大小写,如果有包的情况下,注意类文件放的位置。环境变量classpath配置中有没有小数点“”,有没有java默认类库的位置,有没有你自己的类文件顶层目录等。
使用Domain Configuration Wizard进行配置
创建新的Domain
选择“Create a new WebLogic configuration”,单击“Next”按钮
选择安装类型
选择安装“Basic WebLogic Server Domain”,单击“Next”按钮
选择定制安装
选择“Custom”安装,单击“Next”按钮
输入Administrator Server的信息
输入Administrator Server的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSL enabled”后面的复选取框上打勾,配置SSL监听端口,单击“Next”按钮
是否配置Server、Cluster、Machine信息
选择“Yes”,对Server、Cluster、Machine信息进行配置,,单击“Next”按钮
配置Managed Server信息
输入Managed Server的名称,监听地址,监听端口,如果需要SSL支持的话,可以在“SSL enabled”复选框上打勾,配置SSL监听端口。可以配置多个Managed Server。单击“Next”按钮
配置Cluster信息
输入Cluster的名称,Cluster的组播地址和端口,Cluster地址可输可不输。单击“Next”按钮
将Managed Server添加到Cluster中
选择左面列表中的Managed Server,将其添加到右面的列表中,单击“Next”按钮
配置Machine信息
在此不对Machine进行配置,单击“Next”按钮
是否配置JDBC信息
在此不对JDBC数据源和连接池进行配置,单击“Next”按钮
配置JMS信息
在此不对JMS进行配置,单击“Next”按钮
配置缺省系统管理员用户名和密码
输入系统管理员用户名和密码,还可以配置其它的系统管理用户,在此不做配置,单击“Next”按钮
配置Windows附加选项
可以选择是否创建开始菜单中的快捷方式,是否将该服务作为Windows系统服务,在这里我们全部选择“No”,单击“Next”按钮
配置服务的启动模式并选择Java SDK
选择“Development Mode”模式,并选择标准的Java SDK 14,在开发模式下会有比较丰富的调试信息,对我们很有帮助,单击“Next”按钮
配置信息确认以及选择安装路径
系统列出您的配置信息,并指定了缺省的安装路径(D:\bea\user_projects\domains\mydomain),在此我们将安装路径定位在D:\bea\user_projects\clusterdomain,单击“Create”按钮
系统创建Domain
系统根据配置信息,完成缺省的目录及文件的创建
启动WebLogic服务
Ø 启动Administrator Server
使用startWebLogic命令启动Administrator Server
Ø 启动Managed Server
使用startManagedWeblogic命令启动Managed Server,它的命令格式是:
startManagedWeblogiccmd Managed Server的名称 Administrator Server地址
同理可以启动nodeB和nodeC,以及Proxy Server
通过HttpClusterServlet实现请求的自动分发处理
HttpClusterServlet通过一个WebLogic服务器代理对WebLogic集群中的其他服务器成员的HTTP请求, 同时HttpClusterServlet还为代理的HTTP请求提供负载平衡与容错处理。
实际上实现是很简单的,遵循下面几个步骤就可以轻松实现请求的自动分发功能:
Ø 创建一个代理Server(在此我们称这proxyServer)
Ø 生成配置文件webxml
Ø 生成配置文件weblogicxml
Ø 打包生成Web应用
Ø 在proxyServer上部署应用,并将该应用作为缺省的Web应用
创建代理Server
启动Administrator Server,然后进入Console控制台(http://10169233:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Server”结点上单击右键,在弹出菜单上选择“Configure a New Server”,然后配置代理Server的相关信息。(在这里只要指定名称,监听地址,监听端口就可以了)
HttpClusterServlet 的部署,主要是Servlet的声明和映射,并设置初始化参数,可以创建一个Web App,然后直接在webxml中添加或在管理控制台上设置HttpClusterServlet的部署信息。最后将它发布给用来做代理的 Server,并将这个Web App设置为这个Server的缺省WEB应用。
webxml文件示例
weblogicxml文件示例
打包WEB应用
可以使用jar命令将proxy应用打包成war文件,我们建一个临时目录temp,然后在其中建立如下目录结构:
使用如下的命令操作,就可完成web应用的打包操作:
JAR –参数 WEB应用名称要打包的目录
当然我们也可以直接部署该目录,而无需打包,这在项目的开发阶段是很有帮助的,便于修改。
部署proxy应用
启动Administrator Server,然后进入Console控制台(http://10169233:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Web Application Modules” 结点上单击右键,在弹出菜单上选择“Deploy a new Web Application Module”,然后选择要部署的文件或目录,单击“Target Module”按钮,然后选择“proxyServer”,单击“Continue”按钮,到了下一步,单击“Deploy”按钮,完成部署工作。
部署完成后,查看WEB应用的状态是“FAILS”,造成这种情况的原因是“proxyServer”还没有启动,我们可以通过下面的命令启动“proxyServer”:
然后点击“ReDeploy”,重新部署应用,状态值将变为“Success”。
将WEB应用配置成缺省的WEB应用,weblogic81与weblogic61有很大的不同,81不再支持从console控制台完成配置的工作,而是在weblogicxml中通过下面的结点,完成配置的工作。
<context-root> / </context-root>
测试proxy应用
修改webxml文件,加入下面的结点,然后重启服务。
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
打开浏览器,访问下面的地址,会得到下图所示的结果,这就说明你的配置是成功的。
http://myserver:port/placeholderjsp __WebLogicBridgeConfig
myserver为服务地址(在这里是1016927)
port为proxy服务的端口(在这里是8080)
placeholderjsp(这是一个不存在的JSP文件,您也可以随意指定文件名)
__WebLogicBridgeConfig(这个可千万不能写错呦!)
测试集群的分发功能
编写测试WEB应用并部署
我们来编写一个简单的WEB应用,它会在控制台和浏览器上同时打印出“OK”字样,然后将这个WEB应用部署到集群中所有Managed Server上面。(代码见附件)
在这里我们将通过Apache中所带的ab包来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。
ab –n 100 –c 10 http://1016927:8080/indexjsp
ab是测试程序的名称
参数n代表请求的总数量
参数c代表并发的请求数
url为要测试压力的页面
注:使用这个命令时,一定要在系统路径中能够找到该程序,否则不能执行。
压力测试完成后,我们从Managed Server的控制台上可以看到,nodeA,nodeB,nodeC都打印出了“OK”字样,这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。
测试应用的目录结构如下,部署与proxy应用的部署一样,要注意的是要将它部署在Managed Server上面。
同一网段内不同机器部署集群
在不同机器上部署集群与上面的操作有一些不同,就是在部署“Managed Server”时,要注意的是,参见下面的图解。
在另外一台机器上配置“Managed Server”时,要指定“Admin Server”的名称,监听地址,监听端口。
另外要注意的是,“Managed Server”上的配置信息要与“Admin Server”中Cluster所指定的配置信息一致。
启动“Managed Server”的命令与上面的一样,如下所示:
集群配置中要注意的问题
Ø Admin Server只用于集群的管理,而不能参与集群事务。
Ø Web应用应该部署到集群上,文件的同步是由WebLogic来完成的。
你创建的 user_projects 里面的对应的 domain 下面的 lib 目录,这个目录是默认的
-Dweblogicextdirs 参数所指的地方,它里面放第三方 jar 类库,一般仅限于通用型号的,比如 log4j 之类的,那些版本间兼容性不能保证(比如一个小版本号变了就工作不了的) 就不要放在这里面,它可能是导致多个应用不能共用这一个 jar,以后添加新的 EJB/WAR 时可能会出错。
如果在开发状态下,你的 jar 都在另一个目录下,你可以考虑把命令行中的 -Dweblogicextdirs 参数改一个指向你开发的位置,这样你就不需要复制 jar 了,这种情况适合你把把 jar 都放在 CVS 上同步共享的,某个 domain 也只用于当前开发的项目。
贵不贵,看谁卖,如果是个人出钱,当然很贵,如果公司买,单位买,有钱能花出来的,一百万都不贵
正版的weblogic,
BEA Weblogic server 81 premium Edition (For 1CPU) 401200元
BEA WebLogic Server 81 Advantage Edition(For 1CPU) 236000元
具体多少,有没有更低的,你上网搜索一下"weblogic 代理",还要看你用什么版本,是server,portal,platform,带不带开发包workshop,我在网上看到过最便宜的个人版的在一两万左右
如果自己学习,开发工程,用D版的,上网下载,电脑城也有得买,好像BEA网站上还有免费下载供学习的,我从别的地方下载,用的是weblogic81,全套了,platform,workshop都有了,体积也不是很大600M左右
使用SSL网关提供HTTPS服务
当使用SSL网关提供HTTPS服务时,网络架构如下图所示(无关的设备已省略,下同)。
SSL网关只会向后转发HTTP协议的数据,不会将T3协议数据转发至weblogic服务器,因此在该场景中,无法通过公网利用weblogic的JAVA反序列化漏洞。
使用负载均衡提供HTTPS服务
当使用负载均衡提供HTTPS服务时,网络架构如下图所示。
安全起见,负载均衡应选择转发HTTP协议而不是TCP协议,因此在该场景中,也无法通过公网利用weblogic的JAVA反序列化漏洞。
使用web代理提供HTTPS服务
当使用web代理(如apache、nginx等)提供HTTPS服务时,网络架构如下图所示。
web代理只会向后转发HTTP协议的数据,因此在该场景中,也无法通过公网利用weblogic的JAVA反序列化漏洞。
使用weblogic提供HTTPS服务
当使用weblogic提供HTTPS服务时,网络架构如下图所示。
weblogic能够接收到利用SSL加密后的T3协议数据,因此在该场景中,通过公网能够利用weblogic的JAVA反序列化漏洞。
根据上述分析,仅当HTTPS服务由weblogic提供时,才能够利用其JAVA反序列化漏洞。
0x02 weblogic开放SSL服务时的T3协议格式分析
利用weblogic的JAVA反序列化漏洞时,必须向weblogic发送T3协议头。为了能够利用提供SSL服务的weblogic的JAVA反序列化漏洞,需要首先分析当weblogic提供SSL服务时的T3协议格式。
SSL数据包为加密的形式,无法直接进行分析,需要进行解密。当已知SSL私钥时,可以利用Wireshark对SSL通信数据进行解密。
weblogic可以使用演示SSL证书提供SSL服务,也可以使用指定SSL证书提供SSL服务。
可以使用两种方法进行分析,一是使用weblogic提供的演示SSL证书进行分析,二是使用自己生成的SSL证书进行分析。
使用weblogic演示证书进行分析(方法一)
使用weblogic演示证书开放SSL服务
登录weblogic控制台,将AdminServer的“启用SSL监听端口”钩选,并填入SSL监听端口号。
查看AdminServer的密钥库配置,确认为“演示标识和演示信任”(Demo Identity and Demo Trust),可以看到演示密钥库的文件名为“DemoIdentityjks”,演示信任密钥库文件名为“DemoTrustjks”。
查看AdminServer的SSL配置,可以看到演示密钥库的私钥别名为“DemoIdentity”。
使用HTTPS方式登录weblogic控制台,确认可以正常登录。
0条评论