`
sunxboy
  • 浏览: 2869761 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

配置WebLogic Server 8.1的Node Manger和SSL(转)

阅读更多
  注意:由于WebLogic Server7和WebLogic Server8的设置有较大不同,此文只对WebLogic Server 8.1 有效。WebLogic Server 7的配置,也将在近期推出。

对大多数的初学者而言,WebLogic的文档,虽然详细,却有很多让人困惑不解地方,笔者通过一段时间的实践,有一些心得,在此与大家分享

在实际的应用中,不同的WebLogic Server实例会分布在不同的机器,甚至不同的地域。所以,如何有效的管理各个Managed Server实例,成为了重点。在同一个Domain中,不同机器上的Managed Server可以用相应机器上的NodeManager来管理(NodeManager本身也是一个线程,用来控制Server的生命周期的。)

本文将用1个Admin Server和2个Managed Server做例子,因为这个是最简单的Cluster形式。Cluster和本文没有什么直接关系,只是作为以后例子的铺垫而已。不过鉴于Admin Server和Managed Server之间的管理方式和Cluster的是一样的,所以也就把Cluster的配置加入本文章。详细原因,见附录B。

配置大体过程如下,一共6个步骤:

A. 建立相应的Domain。设定Admin Server。

B. 得到 Server的根证书,密钥。并将它们加入KeyStore。

C. 配置WebLogic Server的KeyStore和SSL设置,代替默认的Demo 设置。

D. 配置 Managed Server机器上的NodeManager。

E. 检查相应设置是否正确后,启动所有Server,完成设置。

F. 用一个Web Application的部署检验以上设置。


A. 建立相应的Domain。设定Admin Server和 Managed Server。

1. 首先,建立相应的Domain。设定相应的Admin Server和Managed Server。(详细设置步骤,见最后附录A)。

(详细配置资料)

Domain: Security
Cluster: MyCluster
Type
Admin
Managed
Managed
Server Name
Cake
FinalFantasy
Armageddon
IP
192.168.0.9
192.168.0.1
192.168.0.2
Machine
(空)
Desktop
Laptop
User
William
William
William
Password
Password
Password
Password

注1. 相应的IP设置,请按照实际情况更改。这里的IP,没有关系的,因为实际应用中,都用DNS名字代替了。见注5。

注2. 如果每个Server都监听不同的Port的话,三个Server可以在同一台机器上。不建议使用LoopBack的网卡。

注3. 不管多少个Managed Server,也不管他们是在同一台机器还是多台机器,都要设置为同一个Domain。

注4. Admin Server,没有必要配置Machine。所以不用加入任何一个Machine。

注5. Server Name,也是相应的DNS,可以通过修改 %WINDOWS_HOME%\System32\Drivers\Etc\Hosts 文件,达到同样效果。见文件1.1。

注6. ManagedServer机器上不用配置Domain,只需要配置NodeManager就可以了。
文件1.1

# Copyright (c) 1993-1999 Microsoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.

#

# This file contains the mappings of IP addresses to host names. Each

# entry should be kept on an individual line. The IP address should

# be placed in the first column followed by the corresponding host name.

# The IP address and the host name should be separated by at least one

# space.

#

# Additionally, comments (such as these) may be inserted on individual

# lines or following the machine name denoted by a '#' symbol.

#

# For example:

#

# 102.54.94.97 rhino.acme.com # source server

# 38.25.63.10 x.acme.com # x client host

127.0.0.1 localhost

192.168.0.9 Cake

192.168.0.2 Armageddon

192.168.0.1 FinalFantasy

修改完后,记得用ping试试,ping通过了,才好进行下一步。不同机器的话,请保持DNS名字一致。

2. (可选)修改Admin Server的启动脚本 (Security\startWebLogic.cmd)。

set PRODUCTION_MODE=false

set WLS_USER=William

set WLS_PW=password

set MEM_ARGS=-Xms256m -Xmx256m

3. 修改完Server的启动文件后,请先把Admin Server启动一次,保证已经建立正确。

4. 完成第一大步。


B. 得到 Server的根证书,Server证书,密钥。并将它们加入KeyStore。

接下来,我们需要得到配置SSL需要的文件。如果你有银子的话^_^,可以去VeriSign申请一个正规的证书。不过,本例将用WebLogic自带的CertGen工具生成相应的证书以及密钥。并加入KeyStore中。相应的概念及工具的用法,请读者自行查资料。

1. 将weblogic.jar加入classpath。

2. 建立一个临时目录,将 BEA\WebLogic\server\lib下的CertGenCA.der和CertGenCAKey.der拷贝到该目录。

3. 运行以下命令,将生成的myKeyStore.jks拷贝到相应的3个Domain目录。

keytool -noprompt -import -trustcacerts -alias CA -file CertGenCA.der -keystore myKeyStore.jks -storepass password

java utils.CertGen password CakeCert CakeKey export Cake

java utils.CertGen password FinalFantasyCert FinalFantasyKey export FinalFantasy

java utils.CertGen password ArmageddonCert ArmageddonKey export Armageddon

copy /b CakeCert.pem + CertGenCA.pem CakeCertChain.pem

copy /b ArmageddonCert.pem + CertGenCA.pem ArmageddonCertChain.pem

copy /b FinalFantasyCert.pem + CertGenCA.pem FinalFantasyCertChain.pem

keytool -import -alias CakeCert -file CakeCert.pem -keypass password -keystore myKeyStore.jks -storepass password

keytool -import -alias ArmageddonCert -file ArmageddonCert.pem -keypass password -keystore myKeyStore.jks -storepass password

keytool -import -alias FinalFantasyCert -file FinalFantasyCert.pem -keypass password -keystore myKeyStore.jks -storepass password

java utils.ImportPrivateKey myKeyStore.jks password CakeKey password CakeCertChain.pem CakeKey.pem

java utils.ImportPrivateKey myKeyStore.jks password ArmageddonKey password ArmageddonCertChain.pem ArmageddonKey.pem

java utils.ImportPrivateKey myKeyStore.jks password FinalFantasyKey password FinalFantasyCertChain.pem FinalFantasyKey.pem

java utils.ValidateCertChain -jks CakeKey myKeyStore.jks password

java utils.ValidateCertChain -jks FinalFantasyKey myKeyStore.jks password

java utils.ValidateCertChain -jks ArmageddonKey myKeyStore.jks password

最后的3个步骤,是检验Certificate的。其中第一个步骤输出应该是:

Cert[0]: CN=Cake,OU=FOR TESTING ONLY,O=MyOrganization,L=MyTown,ST=MyState,C=US

Cert[1]: CN=CertGenCAB,OU=FOR TESTING ONLY,O=MyOrganization,L=MyTown,ST=MyState,C=US

Certificate chain appears valid

最后一句话最重要,代表了证书链是正确的!

这个步骤,是最重要的。确定所有语句的运行都是正确的。

4. Admin机器上,将keystore文件拷贝到BEA\user_projects\domain目录。

5. Managed机器上,将keystore文件拷贝到BEA\weblogic\common\nodemanager目录。

6. 完成步骤B。


C. 配置WebLogic Server的KeyStore和SSL设置,代替默认的Demo 设置。

1. 启动Admin Server,进入Console(http://Cake:8001/console/)。展开Servers,单击Cake,在右边的配置栏中(Configuration Tab),选择Keystores & SSL。


2. 单击Change,选择Custom Identity and Custom Trust,单击Continue,填入以下值。(一切以文字为准,抓图只是示范)

Custom Identity:

Custom Identity Key Store File Name: myKeyStore.jks

Custom Identity Key Store Type: JKS

Custom Identity Key Store Pass Phrase: password

Confirm Custom Identity Key Store Pass Phrase: password

Custom Trust

Custom Trust Key Store File Name: myKeyStore.jks

Custom Trust Key Store Type: JKS

Custom Identity Key Store Pass Phrase: (空)

Confirm Custom Identity Key Store Pass Phrase: (空)

3. 单击Continue,准备对 Review SSL Private Key Settings 进行设置。

Private Key Alias: CakeKey

Passphrase: password

Confirm Passphrase: password

4. 设置Armageddon Server和 FinalFantasy Server。

步骤如上,展开Servers,单击相应的Server,去 Keystores & SSL,然后配置。

以下是配置用到的值。

Armageddon Server:

Custom Identity:

Custom Identity Key Store File Name: myKeyStore.jks

Custom Identity Key Store Type: JKS

Custom Identity Key Store Pass Phrase: password

Confirm Custom Identity Key Store Pass Phrase: password

Custom Trust

Custom Trust Key Store File Name: myKeyStore.jks

Custom Trust Key Store Type: JKS

Custom Identity Key Store Pass Phrase: (空)

Confirm Custom Identity Key Store Pass Phrase: (空)

Private Key Alias: ArmageddonKey (改动的地方)

Passphrase: password

Confirm Passphrase: password

FinalFantasy Server:

Custom Identity:

Custom Identity Key Store File Name: myKeyStore.jks

Custom Identity Key Store Type: JKS

Custom Identity Key Store Pass Phrase: password

Confirm Custom Identity Key Store Pass Phrase: password

Custom Trust

Custom Trust Key Store File Name: myKeyStore.jks

Custom Trust Key Store Type: JKS

Custom Identity Key Store Pass Phrase: (空)

Confirm Custom Identity Key Store Pass Phrase: (空)

Private Key Alias: FinalFantasyKey (改动的地方)

Passphrase: password

Confirm Passphrase: password

1. 最后重新启动Admin Server,完成步骤C。

A. 配置 Managed Server机器上的NodeManager。

1. 查看目录BeaM\weblogic\common\nodemanager。BeaM代表是Managed Server的Bea实例,因为Admin里边的这个目录是空的。

2. 编辑文件nodemanager.hosts,加入Cake这个地址。内容如下:(也可以直接加入IP地址,不过这里还是用DNS,因为SSL验证名字的原因)

# Host names from which the connection to the

# node manager will be accepted.

# You can edit this file manually.

# E.g. - for allowing a machine named holly to connect,

# uncomment one of the following lines based on whether

# ReverseDnsEnabled property is turned on or off.

#holly.bea.com

#172.17.24.145

Cake

3. 编辑文件nodemanager.properties。修改后内容如下:(这个是FinalFantasy Server的例子,请自行修改Armageddon Server的文件)

PropertiesVersion=8.1

KeyStores = CustomIdentityAndCustomTrust

CustomIdentityAlias=FinalFantasyKey (FinalFantasy的密钥别称,Armageddon需要修改)

CustomIdentityPrivateKeyPassPhrase={3DES}VEg7ahqqDWKmTZZMsynwzg\=\= (密码,如果你输入password的话,WebLogic会自动改为这个的)

CustomIdentityKeyStoreFileName=myKeyStore.jks (设置myKeyStore的储存点)

CustomIdentityKeyStoreType=JKS

CustomIdentityKeyStorePassPhrase={3DES}VEg7ahqqDWKmTZZMsynwzg\=\= (密码)

CustomTrustKeyStoreFileName=myKeyStore.jks (同样的设置KeyStore储存点)

ReverseDnsEnabled=true

4.检查以上修改,步骤D完成。

B. 检查相应设置是否正确后,启动所有Server,完成设置。

1.运行 BeaM\weblogic\server\bin\startNodeManager.cmd。

格式:startNodeManager FinalFantasy 5555

或者

startNodeManager Armageddon 5555

根据不同的server,运行不同的命令。

2.启动Admin Server。

3.来到Console,展开Servers,然后:

a) 右击FinalFantasy,选择Start/Stop this Server。

b) 右边的窗口中,单击 Start this Server.。

c) 单击Yes,启动Managed Server。

d) 在启动的过程中,你应该可以看到最底下的状态栏中,state栏目的内容是STARTING,Status的内容是TASK IN PROGRESS。(图3-1)

e) 启动完毕,应该是: State:RUNNING 。Status:TASK COMPLETED。(图 3-2)


(图 3-1)


图3-2)

4. 到这里为止,已经完成所有设置了。

C. 用一个Web Application的部署检验以上设置。

1. 随便建立一个Web Application,最简单的就可以了。

2. 选择后,target里边选择Cake,还有FinalFantasy,就可以部署了。

3. 如果你喜欢,你可以再建立一个server,这样的话,Independent Servers里边就会多一个出来。

4. Deploy后,会选择是否让程序处理stage,还是你自己处理文件的存储。最好让weblogic处理stage。:)

5. 最后,访问FinalFantasy的http,就可以看到相应的网页了。

6. 终于完成了所有设置步骤。恭喜!

附录A。详细设置WebLogic Server(AdminServer)。

1. 启动Configuration Wizard。

2. Next后,选择 Basic WebLogic Server Domain,再Next。

3. 选Custom,Next。

4. 在Administration Server Configuration中,填入相应内容。


5. 在Muliple Servers, Clusters, and Machines Options,选择Yes,单击Next。

6. 点击2次Add,增加两个Managed Server。填入相应数据。单击Next。

7. 来到Clusters的设置栏。单击一下Add后,填入一下数据。最后单击Next,


8. 在这个窗口中,先单击右边target中的MyCluster,然后按两次中间上边的那个向右的箭头,就可以了。最后单击Next。

9. 如果出现Proxy设置,直接Next。

10. 设置Machine,这里是为NodeManger设置的。设置完后,Next。


11. 来到Server To Machine配置,这里要注意,别搭配错了,虽然我没有试过错误的搭配的结果。

Cake,是不属于任何Machine的,因为是Admin,就算属于一个Machine,也没有意义。

12. 配置JDBC,选择Skip,然后Next。

13. 配置JMS,选择Skip,然后Next。

14. 配置Security,,选择Skip,然后Next。

15. 输入用户名和密码。

Name:William

Password:password

16. 接下来,是Windows Options。左边选择是否建立启动的快捷方式,右边选择是否把Admin Server作为Windows服务启动。

左边选择yes,右边选择No。最后Next。

17. 启动菜单的编辑,直接Next。

18. 来到WebLogic Configuration Enviroment了,左边选择Development Mode,右边选择Sun JDK,(随便,你喜欢了)。记得Next。

19. 来到最后的一个设置,就是Create WebLogic Configuration。

注意,要把右下方的那个 Configuration Name,写上Security,这个是Domain设置。然后单击Create。

20. 选择Done,Exit。完成Admin Server的配置。


附录B。关于Cluster和Admin-Managed Server之间的管理关系,MultiCast的简介。

首先,谢谢Hilaser的提醒,这是我一直没有注意过的问题。

Admin 和Managed Server之间,是管理与被管理。一个Domain只能包含一个Admin Server,但是可以支持多个Managed Server。他们之间是依靠MultiCast联系的。MultiCast是基于UDP进行的,所以,请配置前,先测试一下UDP的通讯是否畅通。

Cluster也是以同样的方式进行通讯的,同一个Cluster之间,通过一个MultiCast地址(如237.0.0.1:7001)进行通讯,如果不能正确的建立UDP通讯,Cluster也就不能正确的运行。

下面将测试方法说一下:

1. 首先,将weblogic.jar加入classpath。

2. 在不同的机器上,执行不同的语句,

java utils.MulticastTest –N name –A 237.0.0.1

这里的name,是每一台机器都不一样的,作为自己的标志存在。

237.0.0.1是MultiCast地址,也可以是不同Port的。详细资料,请查询BEA文档。

3.如果运行结果是全部server都可以看到,就代表成功,不然就是那个节点通讯受阻。

 
 作者简介
  周骞是(dev2dev ID: 黯然销魂) BEA dev2dev中文网站--在线技术论坛WebLogic EJBS Development等栏目版主,WebLogic专家
分享到:
评论

相关推荐

    BEA WebLogic Server 8.1 Unleashed

    《BEA WebLogic Server 8.1 Unleashed》是一本深入探讨BEA WebLogic Server 8.1版本的专业书籍,旨在帮助读者全面理解和掌握这一强大的Java应用服务器。WebLogic Server是BEA(现已被Oracle收购)开发的一款企业级...

    WebLogic Server 8.1J sp4.part1.rar

    WebLogic Server 8.1J sp4.part1.rar,共两部分,这是第一部分.

    WebLogic Server 8.1J sp4.part2.rar

    WebLogic Server 8.1J sp4.part2.rar,这是第二部分,共有两部分.请将两部分都下载完了,放在一起解压.

    BEA WebLogic Server 8.1 概述BEA 白皮书.doc

    通过其对J2EE(Java 2 Platform, Enterprise Edition)的严格遵循,WebLogic Server 8.1 支持面向服务的架构(SOA),并拥有丰富的工具集,简化了业务逻辑、数据和表现层的分离,便于开发和部署各种业务驱动的应用。...

    WebLogic Server 8.1 API Reference

    《WebLogic Server 8.1 API 参考指南》是Oracle公司发布的针对WebLogic Server 8.1版本的一份重要技术文档,它详尽地介绍了该版本中提供的各种应用程序接口(APIs)。WebLogic Server是Oracle公司的一款企业级Java...

    BEA WebLogic Server8.1大全 源码

    本书是WebLogic开发人员的权威参考... 使用WebLogic Workshop8.1开发WebLogic Server应用程序。 随书光盘包括:  本书讨论的所有源代码。  本书英文原书的电子版本。  BEA WebLogic Platform8.1开发者评估版本。

    weblogic8.1安装包

    了解WebLogic Server 8.1的工作原理非常重要,包括如何配置和管理域、部署应用程序、监控服务器性能以及进行故障排查。WebLogic还提供了强大的集群功能,可以实现高可用性和负载均衡,这对于大型企业应用来说至关...

    配置weblogic 8.1

    在本文中,我们将深入探讨如何配置WebLogic 8.1,包括设置WebLogic Workshop IDE的字体、安装简体中文包、调整系统语言环境以及理解WebLogic Workshop 8.1在处理SOAP消息时的编码行为。 首先,我们来关注WebLogic ...

    Weblogic_8.1_SSL_配置详细图解.rar

    WebLogic Server 8.1 是一款由甲骨文公司(Oracle)提供的企业级Java应用服务器,它支持多种功能,包括安全套接层(SSL)来确保网络通信的安全性。SSL配置是WebLogic Server中至关重要的一步,特别是在处理敏感数据...

    WebLogic Server8.1集群配置

    在2台PC机上做实验,用Apache做代理Server,实现会话接管(Session复制),附带例子(一个是简单的jsp和Session接管的,一个是连接数据库的,这个主要是对集群做压力测试时用的例子)。 我花了很长时间写的配置过程,所以加了...

    Weblogic 8.1的安装与配置.doc

    3. **配置安全性和认证**:WebLogic Server提供了丰富的安全性功能,包括基于角色的安全模型、SSL加密、LDAP集成等。管理员可以根据需要配置这些选项来保护应用服务器的安全。 4. **集群配置**:为了提高系统的可用...

    weblogic server 8.1 的培训文档-ppt

    weblogic server 8.1 的培训文档,适合初学者进行学习。

    SSL + WEBLOGIC 8.1 + KEYTOOL建立单向SSL

    本文详细介绍了如何使用SSL、Weblogic 8.1和KEYTOOL工具来建立单向SSL连接。通过生成必要的证书并正确配置Weblogic,可以有效地保护网络通信安全,确保数据在传输过程中不会被非法获取或篡改。此外,还介绍了如何...

    weblogic 8.1安装与设置

    WebLogic Server 8.1是Oracle公司开发的一款企业级Java应用服务器,它是基于Java EE(Java Platform, Enterprise Edition)标准的,主要用于构建、部署和管理分布式应用程序。在本篇文章中,我们将深入探讨WebLogic ...

    Weblogic8.1安装和配置.docx

    在本文中,我们将详细讲解WebLogic Server 8.1的安装与配置步骤,这对于初学者了解和掌握这款服务器的使用至关重要。 **安装WebLogic 8.1** 1. **启动安装程序**: 首先,你需要运行WebLogic 8.1的安装程序。这个...

    BEA WebLogic Portal 8.1产品介绍

    各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 BEA WebLogic Server 具有全面的功能、对开放标准的遵从性、多层架构、...

    weblogic8.1安装和配置

    - **启动服务器**:在“开始”菜单中选择【BEA WebLogic Platform 8.1】>【User Projects】>【mydomain】>【Start Server】启动服务器,或者在配置过程中勾选“Start Admin Server”,安装完成后自动启动服务器。...

    J2EE应用与BEA.WebLogic.Server第2版.pdf

    第五章 WebLogic Server JDBC 和 JTA 第六章 远程方法调用和分布式命名 第七章 使用 Java 消息服务进行企业消息传递 第八章 使用会话企业 JavaBean 第九章 实体 EJB 第十章 使用消息驱动 EJB 第十一章 使用 WebLogic...

    WebLogic Platform 8.1 whith sp3

    WebLogic Platform 8.1 whith sp3 WebLogic 8.1

Global site tag (gtag.js) - Google Analytics