今天在启动被管理服务器遇到一个问题,在此做一下记录。
现象描述:首先启动了管理服务器,然后进入域目录 :domains/domain_1,以启动被管理服务器Server-0,此时控制台提示的错误如下:
<Oct 13, 2023 5:33:41 PM PDT> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication for user domain_1 denied
weblogic.security.SecurityInitializationException: Authentication for user domain_1 denied
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.doBootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:966)
at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.initialize(CommonSecurityServiceManagerDelegateImpl.java:1054)
at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:873)
at weblogic.security.SecurityService.start(SecurityService.java:141)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
Truncated. see log file for complete stacktrace
Caused By: javax.security.auth.login.FailedLoginException: [Security:090303]Authentication Failed: User domain_1 weblogic.security.providers.authentication.LDAPAtnDelegateException: [Security:090295]caught unexpected exception
at weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.login(LDAPAtnLoginModuleImpl.java:251)
at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
at java.security.AccessController.doPrivileged(Native Method)
at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Truncated. see log file for complete stacktrace
看起来似乎是用户名和密码验证失败了,但记忆中没有修改过用户名和密码,于是做出如下的尝试:
1.用户名和密码已经以加密的形式保存在boot.properties文件中了,于是尝试删除AdminServer和 Server-0文件夹下的Security文件,以手动输入密码的形式尝试登陆,仍然报上述错误;
2.尝试从 以下路径启动Server-0:
/root/Oracle/Middleware/wlserver_10.3/common/bin/servers
仍然报上述错误,删除/root/Oracle/Middleware/wlserver_10.3/common/bin/servers路径下AdminServers和Server-0中的security,以手动输入的形式登陆,仍然失败。
此时观察到我发现我连接到的域为:domain_5,如下图所示:
而我是在domain_1文件夹下启动了Server-0,问题可能出现在这里(虽然这几个域的账号密码都是相同的)。
于是重新进入domain_5文件夹下启动Server-0,启动被管理服务器成功!
结论:具体错误原因未知,只能得知连接到哪个域,就要在哪个域下启动被管理服务器。
疑问:如果是在/root/Oracle/Middleware/wlserver_10.3/common/bin/servers 文件夹下,该如何正确地启动被管理服务器呢?(即保证域正确?)
PS:
2023-10-14对上述问题的实验结果是,如果删除了servers文件夹下的Server0(被管理服务器文件夹),重新使用命令:
./startManageServer Server-0 Admin_url
即可成功启动,怀疑在Server文件下某些配置文件将原域硬编码进去,导致被管理服务器域与当前登陆的域无法连接,导致无法正常启动。