weblogic12.2启用管理端口报错解决

安装的是WebLogic Server 12.2.1.3.0,在一次安全漏洞修复工作中需要禁用业务端口,就是屏蔽业务端口对外开放。

具体操作方法如下:

登录控制台,找到实例名,锁定并编辑,勾选“启动管理端口”,管理端口默认是9002,这里我改成了9001。

然后保存,激活更改。

 

但在操作后,后台日志显示启动报错,日志信息如下:

]. The system is vulnerable to security attacks, since it trusts certificates signed by the demo trusted CA.> 
<2019-5-14 上午09时38分54,400秒 CST> <Alert> <Security> <BEA-090165> <Cannot find identity keystore file /picclife/wlserver122/user_projects/domains/domain8001/security/DemoIdentity.jks on server AdminServer> 
<2019-5-14 上午09时38分54,401秒 CST> <Error> <WebLogicServer> <BEA-000297> <Inconsistent security configuration, weblogic.managem
ent.configuration.ConfigurationException: Cannot find identity keystore file /picclife/wlserver122/user_projects/domains/domain8001/security/DemoIdentity.jks on server AdminServer> 
<2019-5-14 上午09时38分54,401秒 CST> <Emergency> <Security> <BEA-090034> <Not listening for SSL, weblogic.management.configuratio
n.ConfigurationException: Cannot find identity keystore file 
/picclife/wlserver122/user_projects/domains/domain8001/security/DemoIdentity.jks on server AdminServer.> 

<2019-5-14 上午09时38分54,403秒 CST> <Error> <Server> <BEA-002625> <An attempt to configure channel "DefaultAdministration[admin]
" failed because of weblogic.server.ServiceFailureException: 

There are 1 nested errors:

java.io.IOException: [Server:002664]Failed to start Admin Channel DefaultAdministration[admin].
        at weblogic.server.channels.ServerSocketManager.createAndBindServerSockets(ServerSocketManager.java:132)
        at weblogic.server.channels.ServerSocketManager.createAndBindAllServerSockets(ServerSocketManager.java:89)
        at weblogic.server.channels.AdminPortService.createAndBindServerSockets(AdminPortService.java:108)
        at weblogic.server.channels.EnableAdminListenersService.start(EnableAdminListenersService.java:60)
        at weblogic.server.channels.ChannelService.startDefaultAdminChannel(ChannelService.java:1513)
        at weblogic.server.channels.ChannelService.activateUpdate(ChannelService.java:1939)
        at weblogic.descriptor.internal.DescriptorImpl$Update.activate(DescriptorImpl.java:688)
        at weblogic.descriptor.internal.DescriptorImpl.activateUpdate(DescriptorImpl.java:346)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.activateUpdate(RuntimeAccessDeploymentRe
ceiverService.java:2132)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.commitCurrentTreeAndSaveRevertDiffs(Runt
imeAccessDeploymentReceiverService.java:2051)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.processChanges(RuntimeAccessDeploymentRe
ceiverService.java:639)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.access$000(RuntimeAccessDeploymentReceiv
erService.java:82)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService$2.run(RuntimeAccessDeploymentReceiverSer
vice.java:537)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:137)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.doCommit(RuntimeAccessDeploymentReceiver
Service.java:532)
        at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.commit(RuntimeAccessDeploymentReceiverSe
rvice.java:444)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiver
CallbackDeliverer.java:217)
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.commit(DeploymentReceiverCallbackDe
liverer.java:65)
        at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingCommit.callDeploymentReceivers(AwaitingCommit.jav
a:267)
        at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingCommit.handleCommit(AwaitingCommit.java:121)
        at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingCommit.receivedCommit(AwaitingCommit.java:44)
        at weblogic.deploy.service.internal.transport.CommonMessageReceiver.receiveRequestCommitMsg(CommonMessageReceiver.java:6
74)
        at weblogic.deploy.service.internal.transport.CommonMessageReceiver$3.run(CommonMessageReceiver.java:1015)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:670)
        at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
        at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
        at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
        at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
        at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:355)
Caused by: java.io.IOException: Cannot find identity keystore file /picclife/wlserver122/user_projects/domains/domain8001/security/
DemoIdentity.jks on server AdminServer
        at weblogic.server.channels.ServerSocketWrapperJSSE.<init>(ServerSocketWrapperJSSE.java:75)
        at weblogic.server.channels.ServerSocketManager.createServerSocketWrapper(ServerSocketManager.java:184)
        at weblogic.server.channels.ServerSocketManager.createBindAndEnableServerSocket(ServerSocketManager.java:158)
        at weblogic.server.channels.ServerSocketManager.createAndBindServerSockets(ServerSocketManager.java:126)
        ... 31 more
Caused by: weblogic.management.configuration.ConfigurationException: Cannot find identity keystore file /picclife/wlserver122/user_projects/domains/domain8001/security/DemoIdentity.jks on server AdminServer
        at weblogic.security.utils.SSLContextManager.fail(SSLContextManager.java:818)
        at weblogic.security.utils.SSLContextManager.getServerSSLIdentity(SSLContextManager.java:743)
        at weblogic.security.utils.SSLContextManager.createSSLContext(SSLContextManager.java:509)
        at weblogic.security.utils.SSLContextManager.getChannelSSLContext(SSLContextManager.java:447)
        at weblogic.security.utils.SSLContextManager.getChannelSSLContext(SSLContextManager.java:433)
        at weblogic.security.utils.SSLContextManager.getSSLEngineFactory(SSLContextManager.java:382)
        at weblogic.server.channels.ServerSocketWrapperJSSE.<init>(ServerSocketWrapperJSSE.java:69)
        ... 34 more

.

主要的错误信息是这个

<2019-5-14 上午09时38分54,401秒 CST> <Error> <WebLogicServer> <BEA-000297> <Inconsistent security configuration, weblogic.managem
ent.configuration.ConfigurationException: Cannot find identity keystore file /picclife/wlserver122/user_projects/domains/domain8001/security/DemoIdentity.jks on server AdminServer> 

说找不到密钥文件DemoIdentity.jks。检查了一下还真没有。低版本的weblogic操作是没有问题的。

这次我操作的是WebLogic Server 12.2.1.3.0,版本偏高,按照这个方法不行了。

此时控制台也无法访问了,别急紧张,可以回退的,找到实例的配置文件

/picclife/wlserver122/user_projects/domains/domain8001/config/config.xml

删除其中的两行,重启实例。

  <administration-port-enabled>true</administration-port-enabled>
  <administration-port>9001</administration-port>

-----------------------------------------------------------------------------------

各种捣鼓后,发现是需要配置CA密钥,具体方法如下:

1、首先登陆到我们应用的实例中,我的实例路径是

[weblogic@zhanglw-a domain8001]$ pwd
/picclife/wlserver122/user_projects/domains/domain8001

在此路径下建立一个文件夹用来存放我们生成的密钥文件。

[weblogic@zhanglw-a domain8001]$ mkdir sslcert

创建完成后进入该目录

[weblogic@zhanglw-a domain8001]$ cd sslcert/
[weblogic@zhanglw-a sslcert]$ 

2、开始进行密钥的生成

---先执行
keytool -genkey -alias my_test -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname "CN=`hostname`,OU=Picclife,O=IT,L=chuanjing,S=beijinghaidian,C=China" -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -validity 3650
jdk1.8环境下,会提示
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

先删除已经生成的keystore.jks
再改成下面的方式
keytool -genkey -alias my_test -keyalg RSA -storetype PKCS12 -keysize 2048 -sigalg SHA256withRSA -dname "CN=`hostname`,OU=Picclife,O=IT,L=haidian,S=beijing,C=China" -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -validity 3650

参数解释:my_test 别名,最好起的有意义
zhanglw1986 密码,自己想一个,尽量复杂一点
CN=commonName  通用名
OU=organizationUnit  组织部门名
O=organizationName  组织名 
L=localityName 地址 
S=stateName 州名
C=country 城市名
-validity 3650 3650为自己定义证书的有效期,单位为天

---再执行
keytool -selfcert -v -alias my_test  -keypass zhanglw1986 -keystore keystore.jks -storepass zhanglw1986 -storetype jks -validity 3650

---再执行
keytool -export -v -alias my_test  -file "`hostname`-rootCA.der" -keystore keystore.jks -storepass zhanglw1986

---再执行
keytool -import -v -trustcacerts -alias my_test  -file "`hostname`-rootCA.der" -keystore trust.jks -storepass zhanglw1986
输入 Y 回车

至此密钥生成完毕。查看生成的文件

[weblogic@zhanglw-a sslcert]$ ll
总用量 12
-rw-r--r--. 1 weblogic bea 2243 5月  14 19:27 keystore.jks
-rw-r--r--. 1 weblogic bea  955 5月  14 19:29 trust.jks
-rw-r--r--. 1 weblogic bea  887 5月  14 19:28 zhanglw-a-rootCA.der

3、登录weblogic控制台

3.1>先配置密钥库

点击“环境—服务器—AdminServer(管理)—配置—密钥库”,再点击“锁定并编辑”。需要修改的内容如下图:

值如下:

密钥库配置
密钥库: 定制标识和定制信任

----身份
定制身份密钥库: /picclife/wlserver122/user_projects/domains/domain8001/sslcert/keystore.jks
定制身份密钥库类型: JKS
定制身份密钥库密码短语:zhanglw1986
确认定制身份密钥库密码短语:zhanglw1986

----信任
定制信任密钥库: /picclife/wlserver122/user_projects/domains/domain8001/sslcert/trust.jks
定制信任密钥库类型:JKS
定制信任密钥库密码短语:zhanglw1986
确认定制信任密钥库密码短语:zhanglw1986

3.2>密钥库选项卡下的内容修改完毕后,点击“保存”,再点击“SSL”选项卡,编辑如下内容:

值如下:
私有密钥别名:my_test
私有密钥密码短语:zhanglw1986
确认私有密钥密码短语:zhanglw1986

点击“保存”,最后点击控制台左上角的“激活更改”,至此控制台配置完成。

4、再次操作,启用管理端口

登录控制台,找到实例名,锁定并编辑,勾选“启动管理端口”,管理端口默认是9002,这里我改成了9001。

然后保存,激活更改。

验证:

http://192.168.129.136:8001/console/login/LoginForm.jsp

这个地址已经无法访问了

需要使用管理地址访问https://192.168.129.136:9001/console/login/LoginForm.jsp

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值