配置WebLogic Server 8.1的Node Manger和SSL

xiaoxiao2021-03-01  39

时间:2003-07-22作者:周骞浏览次数: 4214 本文关键字:"Tuxedo Services","Web Services" 文章工具推荐给朋友打印文章 <!-- 提取技术文章 --> 配置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专家

来自: http://dev2dev.bea.com.cn/techdoc/200307543.html

相关资源:微信小程序源码-合集1.rar
转载请注明原文地址: https://www.6miu.com/read-3650049.html

最新回复(0)