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

2024-02-21 21:32

本文主要是介绍配置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专家

这篇关于配置WebLogic Server 8.1的Node Manger和SSL(转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/733136

相关文章

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满