常見提示
最常見的出錯提示:500 SERVER ERROR
提示說明
主要是由於IWAM賬號(在我的計算機即是IWAM_MYSERVER賬號)的密碼錯誤造成了HTTP 500內部錯誤。在詳細分析HTTP500內部錯誤產生的原因之前,先對IWAM賬號進行一下簡要的介紹:IWAM賬號是安裝IIS5時系統自動建立的一個內置賬號,主要用於啟動進程之外的應用程式的I nternet信息服務。IWAM賬號的名字會根據每台計算機NETBIOS名字的不同而有所不同,通用的格式是IWAM_MACHINE,即由 “IWAM”前綴、連線線“_ ”加上計算機的NETBIOS名字組成。我的計算機的NETBIOS名字是MYSERVER,因此我的計算機上IWAM賬號的名字就是 IWAM_MYSERVER,這一點與I IS匿名賬號ISUR_MACHINE的命名方式非常相似。IWAM賬號建立後被 Active Directory、IIS metabase資料庫和COM+應用程式三方共同使用,賬號密碼被三方分別保存,並由作業系統負責這三方保存的IWAM密碼的同步工作。按常理說,由作業系統負責的工作我們大可放心,不必擔心出錯,但不知是BUG還是其它什麼原因,系統對IWAM賬號的密碼同步工作有時會失敗,使三方IWAM賬號所用密碼不統一。當IIS或COM+應用程式使用錯誤I WAM的密碼登錄系統,啟動IIS Out-Of-Process Pooled Applications時,系統會因密碼錯誤而拒絕這一請求,導致IIS Out-Of-Process Pooled Applications啟動失敗,也就是我們在ID10004錯誤事件中看到的“不能運行伺服器{3D14228D-FBE1-11D0-995D- 00C04FD919C1} ”(這裡{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能轉入IIS5應用程式,HTTP 500內部錯誤就這樣產生了。
解決方案
簡介
知道了導致HTTP 500內部錯誤的原因,解決起來就比較簡單了,那就是人工同步IWAM賬號在Active Directory、IIS metabase資料庫和COM+應用程式中的密碼。具體操作分三步,均需要以管理員身份登錄計算機以提供足夠的操作許可權(IWAM賬號以IWAM_MYSERVER為例)。
設定
(一)更改Active Directory中IWAM_MYSERVER賬號的密碼因IWAM賬號的密碼由系統控制,隨機產生,我們並不知道是什麼,為完成下面兩步的密碼同步工作,我們必須將IWAM賬號的密碼設定為一個我們知道的值。
1、選擇“開始”->“程式”->“管理工具”->"Active Directory用戶和計算機",啟動“Active Directory用戶和計算機”管理單元。
2、單擊“user”,選中右面的“IWAM_MYSERVER”,右擊選擇“重設密碼(T)...”,在跳出的重設密碼對方框中給IWAM_MYSERVER設定新的密碼,這兒我們設定成“A boutnt2001”(沒有引號的),確定,等待密碼修改成功。
同步
(二)同步IIS metabase中IWAM_MYSERVER賬號的密碼可能因為這項改動太敏感和重要,微軟並沒有為我們修改IIS metabase中IWAM_MYSERVER賬號密碼提供一個顯式的
用戶接口,只隨IIS5提供了一個管理腳本adsutil.vbs,這個腳本位於 C:\inetpub\adm inscripts子目錄下(位置可能會因你安裝IIS5時設定的不同而有所變動)。adsutil.vbs腳本功能強大,參數非常多且用法複雜,
這裡只提供使用這個腳本修改IWAM_MYSERVER賬號密碼的方法:
adsutil SET w3svc/WAMUserPass Password"Password"參數就是要設定的IWAM賬號的新的密碼。
因此我們將IIS metabase中IWAM_MYSERVER賬號的密碼修改為“Aboutnt2001”的命令就是:c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass "Aboutnt2001"
修改成功後,系統會有如下提示:WAMUserPass: (String) "Aboutnt2001"
選擇
(三)同步COM+應用程式所用的IWAM_MYSERVER的密碼同步COM+應用程式所用的IWAM_MYSERVER的密碼,我們有兩種方式可以選擇:一種是使用
組件服務MMC管理單元,另一種是使用IWAM賬號同步腳本s ynciwam.vbs。
1、使用組件服務MMC管理單元
(1)啟動組件服務管理單元:選擇“
開始”->“運行”->“MMC”,啟動管理控制台,打開“添加/刪除管理單元”對話框,將“組件服務”管理單元添加上。
(2)找到“組件服務”->“計算機”->“我的電腦”->“COM+應用程式”->“Out-Of-Process Pooled Applications”,右擊“Out-Of-Process Pooled Applications”->“屬性”。
(3)切換到“Out-Of-Process Pooled Applications”屬性對話框的“標誌”選項卡。“此應用程式在下列賬戶下運行”選擇中“此用戶”會被選中,用戶名是“IWAM_MYSERVE R”。這些都是預設的,不必改動。在下面的“密碼”和“確認密碼”文本框內輸入正確的密碼“Aboutnt2001”,確定退出。
(4)系統如果提示“應用程式被一個以上的外部產品創建。你確定要被這些產品支持嗎?”時確定即可。
(5)如果我們在IIS中將其它一些Web的“應用程式保護”設定為“高(獨立的)”,那么這個WEB所使用的COM+應用程式的IWAM賬號密碼也需要同步。
重複(1 )-(4)步,同步其它相應Out of process application的IWAM賬號密碼。
2、使用IWAM賬號同步腳本synciwam.vbs實際上微軟已經發現IWAM賬號在密碼同步方面存在問題,
因此在IIS5的管理腳本中單獨為IWAM賬號密碼同步編寫了一個腳本synciwam.vbs ,這個腳本位於C:\inetpub\adminscripts子目錄下(位置可能會因你安裝IIS5時設定的不同而有所變動)。
synciwam.vbs腳本用法比較簡單:cscript synciwam.vbs [-v|-h]“-v”參數表示詳細顯示腳本執行的整個過程(建議使用),“-h”參數用於顯示簡單的幫助信息。
我們要同步IWAM_MYSERVER賬號在COM+應用程式中的密碼,
只需要執行“cscript synciwam.vbs -v”即可,
如下:cscript c:\inetpub\adminscripts\synciwam.vbs -vMicrosoft (R) Windows Script Host Version 5.6著作權所有(C) Microsoft Corporation 1996-2000。保留所有權利。WamUserName:IWAM_MYSERVERWamUserPass:Aboutnt2001IIS Applications Defined:Name, AppIsolated, Package IDw3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}Root, 2,IISHelp, 2,IISAdmin, 2,IISSamples, 2,MSADC, 2,ROOT, 2,IISAdmin, 2,IISHelp, 2,Root, 2,Root, 2,Out of process applications defined:Count: 1{3D14228D-FBE1-11d0-995D-00C04FD919C1}Updating Applications:Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}
從上面腳本的執行情況可以看出,使用synciwam.vbs腳本要比使用
組件服務的方法更全面和快捷。
它首先從IIS的metabase資料庫找到IWA M賬號"IWAM_MYSERVER"並取出對應的密碼“Aboutnt2001”,
然後查找所有已定義的IIS Applications和Out of process applications,
並逐一同步每一個Out of process applications應用程式的IWAM賬號密碼。
使用synciwam.vbs腳本時,要注意一個問題,那就是在你運行 synciwam.vbs之前,必須保證IIS metabase資料庫與Active Directory中的IWAM密碼已經一致。因為synciwam.vbs腳本是從IIS metabase資料庫而不是從Active Directory取得IWAM賬號的密碼,如果IIS metabase中的密碼不正確,那synciwam.vbs取得的密碼也會不正確,同步操作執行到“Updating Applications”系統就會報80110414錯誤,即“找不到應用程式{3D14228D-FBE1-11D0-995D- 00C04FD919C1}”。
相關補充
500 伺服器內部錯誤。
500.11 伺服器錯誤:Web 伺服器上的應用程式正在關閉。
500.12 伺服器錯誤:Web
伺服器上的應用程式正在重新啟動。
500.13 伺服器錯誤:Web 伺服器太忙。
500.14 伺服器錯誤:伺服器上的無效應用程式配置。
500.15 伺服器錯誤:不允許直接請求 GLOBAL.ASA。
500.16 伺服器錯誤:UNC 授權憑據不正確。
500.17 伺服器錯誤:URL 授權存儲無法找到。
500.18 伺服器錯誤:URL 授權存儲無法打開。
500.19 伺服器錯誤:該檔案的數據在配置資料庫中配置不正確。
500.20 伺服器錯誤:URL 授權域無法找到。