問題描述
WebLogic Server 不啟動,并拋出與管理密碼、管理授權或 LDAP 有關的錯誤。
|
?
故障排除 請注意,并非下面所有任務都需要完成。有些問題僅通過執行幾項任務就可以解決。
快速鏈接 為什么發生此問題? 要啟動 WebLogic Server 實例,必須提供擁有服務器啟動權限的用戶的 Credential。 將根據某個安全 Realm(即 File Realm、LDAP、RDBMS LDAP 等)檢查 Credential。如果啟動時提供的信息與安全 Realm 中的信息不匹配,或安全 Realm 損壞,WebLogic Server 將不會啟動。
下面是在若干種情況下查明故障和解決問題的方法。
啟動身份無效(WLS 7.0 和 WLS 8.1) 啟動 WebLogic Server 時拋出以下錯誤:
|
The WebLogic Server did not start up properly. Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid;
|
該錯誤表明啟動身份文件 (boot.properties) 中的用戶名和/或密碼無效。可能是在創建啟動身份文件后更改過啟動身份。請使用正確的用戶名和密碼編輯和更新啟動身份文件。首次使用更新后的啟動身份文件啟動服務器時會將這些新值加密。 解決方法: 以明文形式更改 boot.properties 中的參數值。“boot.properties”通常位于域根目錄中。 例如:
|
username=weblogic password=weblogic812 |
設置屬性后,重新啟動服務器。 返回頁首
內嵌的 LDAP:丟失管理密碼(WLS 7.0 和 WLS 8.1) 管理密碼已丟失。 解決方法: 由于沒有覆蓋用戶 ID 密碼的方法,因此必須創建新的管理員用戶 ID,然后使用它來啟動 WebLogic。以下是丟失管理員密碼后恢復管理用戶的步驟。 假定創建了一個用戶 ID“adminuser”,密碼是“weblogic” - 將目錄更改為域目錄:cd mydomain
- java -cp D:\bea\weblogic615\server\lib\weblogic.jar weblogic.security.utils.AdminAccount adminuser weblogic . (注意:命令的末尾有一個句點)
- rm myserver/ldap/DefaultAuthenticatormyrealmInit.initialized
- rm boot.properties(如果有)
- 以“adminuser”為管理員用戶 ID 重新啟動管理服務器
返回頁首 ?
內嵌的 LDAP:更改管理密碼后被管服務器無法啟動(WLS 7.0 和 WLS 8.1) WebLogic Server 無法正常啟動。 拋出了異常:
|
weblogic.management.configuration.ConfigurationException: [Configuration Management:150021]The admin server failed to authenticate the identity of the user weblogic starting the managed server. The reason for the error is .
|
解決方法: 如果更改管理密碼時被管服務器有故障,就會出現該異常。 刪除被管服務器中的 ldap 目錄。 LDAP 目錄位于被管根目錄下,名稱是 ldap。 如果被管服務器名稱為 myManaged1,則 LDAP 目錄將是 ./myManaged1/ldap
WebLogic Server 與 LDAP 服務器連接失敗 拋出錯誤,說明 WLS 與 LDAP 服務器連接失敗。可能的成因是 LDAP Server 未啟動或主機地址和/或端口無效?
|
<13 juil. 2004 16 h 42 CEST> <Debug> <SecurityDebug> <000000> <new LDAP connection to host localhost port 389 use local connection is false> <13 juil. 2004 16 h 42 CEST> <Debug> <SecurityDebug> <000000> <created new LDAP connection LDAPConnection { ldapVersion:2 bindDN:""}> <13 juil. 2004 16 h 42 CEST> <Debug> <SecurityDebug> <000000> <connection failed netscape.ldap.LDAPException: failed to connect to server ldap://localhost:389 (91)>
|
解決方法:
- 驗證 LDAP 服務器是否已啟動
- 驗證主機地址和端口是否有效
返回頁首
LDAP 服務器:連接錯誤(錯誤 49)
|
<30 juin 2004 15 h 07 CEST> <Debug> <SecurityDebug> <000000> <new LDAP connection to host localhost port 389 use local connection is false> <30 juin 2004 15 h 07 CEST> <Debug> <SecurityDebug> <000000> <created new LDAP connection LDAPConnection { ldapVersion:2 bindDN:""}> <30 juin 2004 15 h 07 CEST> <Debug> <SecurityDebug> <000000> <connection failed netscape.ldap.LDAPException: error result (49)>
|
解決方法: 提供的用于連接 LDAP 服務器的用戶 ID 無效。 檢查 config.xml 并驗證以下參數: ? Credential="weblogic" ? Principal="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot"? |
?????? <weblogic.security.providers.authentication.IPlanetAuthenticator ??????????? ControlFlag="SUFFICIENT" ??????????? Credential="weblogic" ??????????? GroupBaseDN="ou=groups" ??????????? Name="Security:Name=RealmIPlanetAuthenticator" ??????????? Principal="uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot" ??????????? Realm="Security:Name=Realm" UserBaseDN="dc=bea,dc=com"/>
|
要解決該問題,請使用以下方法之一更正 uid 或密碼 (Credential),然后重新啟動 WebLogic Server。
- 編輯 config.xml 并更改 uid 或密碼,然后重新啟動
- 將 config.xml.booted 復制到 config.xml,重新啟動服務器,然后更改 Credential(uid/密碼)
返回頁首
LDAP 服務器:WebLogic 管理用戶啟動服務器時被拒絕 WebLogic Server 管理用戶在啟動服務器時可能遭到拒絕。三個可能的成因如下:
- 與 LDAP 連接時發生錯誤 32
- 與 LDAP 連接時身份驗證失敗
- 不允許用戶 XXXXXX 啟動服務器
1. 與 LDAP 連接時發生錯誤 32
|
<30 juin 2004 15 h 10 CEST> <Debug> <SecurityDebug> <000000> <connection succeeded> <30 juin 2004 15 h 10 CEST> <Debug> <SecurityDebug> <000000> <DN for user weblogic: uid=weblogic,dc=bea,dc=com> <30 juin 2004 15 h 10 CEST> <Debug> <SecurityDebug> <000000> <search("ou=groups", "(&(uniquemember=uid=weblogic,dc=bea,d c=com)(objectclass=groupofuniquenames))", base DN & below)> <30 juin 2004 15 h 10 CEST> <Debug> <SecurityDebug> <000000> <returnConnection conn:LDAPConnection {ldap://localhost:389 ?ldapVersion:3 bindDN:"uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot"}> netscape.ldap.LDAPException: error result (32)
|
解決方法: 在 LDAP 中未找到 WebLogic 應在與 LDAP 連接時使用的 LDAP 用戶(本例中為“weblogic”),因此必須創建該用戶。 關于創建用戶 ID 的方法,請參考 LDAP 服務器文檔。
2. 與 LDAP 連接時身份驗證失敗
|
<30 juin 2004 15 h 29 CEST> <Debug> <SecurityDebug> <000000> <returnConnection conn:LDAPConnection {ldap://localhost:389 ?ldapVersion:3 bindDN:"uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot"}> javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User admin denied
|
解決方法: config.xml. 中的管理用戶密碼錯誤。
更改 config.xml 中的“credential”以使用正確的密碼。
<weblogic.security.providers.authentication.IPlanetAuthenticator ??????????? Credential="weblogic" ?
3. 不允許用戶 XXXXXX 啟動服務器
|
<30 juin 2004 16 h 40 CEST> <Critical> <Security> <BEA-090404> <User weblogic is not permitted to boot the server; The server policy may have changed in such a way that the user is no longer able to boot the server. Reboot the server with the administrative user account or contact the system administrator to update the server policy definitions.>
|
解決方法: LDAP 管理員組中沒有與 LDAP 連接所使用的 LDAP 用戶“weblogic”。 將此用戶添加到管理員組。有關說明,請參考 LDAP 文檔。
返回頁首
WebLogic 作為 NT 服務:錯誤 1058 WLS 無法在 Windows 2000 上作為 Windows NT 服務啟動,并產生以下錯誤: “Could not start the <Service Name> service on \\<Computer Name>.Error 1058:The specified service is disabled and cannot be started.” 解決方法: 為該服務啟用 Windows 硬件配置文件。 以下是在 Windows 2000 上啟用的操作步驟:
- 依次單擊“開始”、“設置”、“控制面板”、“管理工具”、“服務”。
- 在“服務”窗口中,右鍵單擊相應的服務,然后選擇“屬性”。
- 單擊“登錄”選項卡,在窗口底部的白色區域中,可以將每個硬件配置文件在“已啟用”和“已禁用”間切換。通過單擊將相應的配置文件設置為“已啟用”。
Microsoft 知識庫文章 175155(位于 http://support.microsoft.com/kb/q175155/)也介紹了以上步驟。
WebLogic 作為 NT 服務:錯誤 1067 將 WLS 域作為 NT 服務安裝后,啟動它時發生“Microsoft Error: 1067”。 此錯誤提供的只是一般性信息,未提供任何與真正問題有關的線索。下面的情況可能會導致此“1067”錯誤及 WebLogic Server 無法作為服務正常啟動。 CONFIGURATION:安裝在 Windows NT 上的 WLS 6.x、7.x。
解決方法: 服務繼承系統屬性。如果系統 PATH 變量中有空格,服務就無法啟動。舉一個例子,下面是系統路徑的一個片段:“C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;”。Visual Studio 目錄名中的空格會導致 beasvc 產生“1067”非描述性錯誤而啟動失敗。
清理系統 PATH 環境變量,使之不包含空格。
返回頁首
File Realm 中的系統用戶密碼 (WLS 6.1) WebLogic Server 不能正常啟動。
|
Exception raised: java.lang.SecurityException: Authentication for user system denied ??????? at weblogic.security.SecurityService.initializeSuid(SecurityService.java:410) ??????? at weblogic.security.SecurityService.initialize(SecurityService.java:120) ??????? at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:421) ??????? at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:213) ??????? at weblogic.Server.main(Server.java:35) Reason: Fatal initialization exception
|
解決方法: File Realm 中的系統用戶密碼由于某種原因在客戶域中損壞,因而 WebLogic Server 無法啟動。
創建 fileRealm.properties 和 SerializedSystemIni.dat(位于域根目錄中)的備份。 如果有可以成功啟動的域,請將正常域中的以下文件復制到問題域:
- fileRealm.properties
- SerializedSystemIni.dat
備注:由于加密/解密需要由以上文件共同完成,因此兩個文件都必須復制,才能使加密/解密正常進行。 返回頁首 如何設置調試標志 設置調試標志有助于解決許多 LDAP 問題。編輯 config.xml 文件并添加以下屬性: ? ??StdoutDebugEnabled="true" StdoutSeverityLevel="64" ? ? <ServerDebug DebugSecurityAdjudicator="true" DebugSecurityAtn="true" ??????? DebugSecurityAtz="true" DebugSecurityRoleMap="true" Name="myserver"/> 如下面所示:
|
?? <Server ListenAddress="" ListenPort="6151" Name="myserver" ??????? NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy" ??????? ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64"> ??????? <SSL Enabled="false" HostnameVerificationIgnored="false" ??????????? IdentityAndTrustLocations="KeyStores" Name="myserver"/> ??????? <ServerDebug DebugSecurityAdjudicator="true" ??????????? DebugSecurityAtn="true" DebugSecurityAtz="true" ??????????? DebugSecurityRoleMap="true" Name="myserver"/> ??? </Server> ??? <ServerDebug DebugSecurityAdjudicator="true" DebugSecurityAtn="true" ??????? DebugSecurityAtz="true" DebugSecurityRoleMap="true" Name="myserver"/>
|
已知的 WebLogic Server 問題 CR076945 (English)? WLS 7.0 - 由于 LDAP 文件可能已損壞而無法啟動 WLS。
此外,您可以定期查看所用 WLS 版本的“Release Notes”,了解 Service Pack 中的“Known Issues”或“Resolved Issues”的詳細信息及瀏覽與身份驗證有關的問題。? 方便起見,下面提供了這些發行說明的鏈接: 使用搜索功能也可以搜索到“Release Notes”,還可以搜索到其它支持解決辦法及與 CR 有關的信息,如需要更多幫助?中所提到的內容。如果客戶簽訂了技術支持合同,則可以登錄 http://support.bea.com/,登錄后會看到為 Solutions 和 Bug Central 提供的 Browse portlet,可在其中按產品版本瀏覽最新提供的 CR。
返回頁首 |
反饋 請給我們提供您的意見,說明此支持診斷模式“啟動 WLS 時出錯”一文是否有所幫助、您需要的任何解釋,以及對支持診斷模式的新主題的任何要求。
|
免責聲明: 依據 BEA 與您簽署的維護和支持協議條款,BEA Systems, Inc. 在本網站上提供技術技巧和補丁供您使用。雖然您可以將這些信息和代碼與您獲得 BEA 授權的軟件一起使用,但 BEA 并不對所提供的技術技巧和補丁做任何形式的擔保,無論是明確的還是隱含的。 本文檔中引用的任何商標是其各自所有者的財產。有關完整的商標信息,請參考您的產品手冊。 |
|