Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 實戰解決IIS服務器的“HTTP 500 內部服務器錯誤”

實戰解決IIS服務器的“HTTP 500 內部服務器錯誤”

日期:2017/2/8 10:29:30      編輯:關於服務器

  今天同學的電腦的IIS服務器突然出問題了,讓我幫忙看看,我看了一下,他的系統是Windows XP SP2,IIS版本為5.1,故障現象是在浏覽器地址欄輸入http://127.0.0.1 後,出現" HTTP 500 內部服務器錯誤"的提示。

  我在網上查了一下“HTTP 500 內部服務器錯誤”的原因之後,並在試了網上眾多的方法,但是都不行,甚至有的網友得出“只有重裝系統才能解決辦法”的結論,我在多次實驗過後,終於得出了真正的解決辦法,辦法如下:

  1.運行—〉cmd—〉輸入net start msdtc,出現了該服務不能啟動的錯誤提示。   2.刪除注冊表中的鍵:
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
   HKEY_CLASSES_ROOT\CID
  3.停止MSDTC服務:net stop msdtc   4.卸載MSDTC服務:msdtc -uninstall
  5.重新安裝MSDTC服務:msdtc -install
  6. 重啟電腦
  7.啟動該服務:net start msdtc
  8.重新設置IIS的IWAM賬號密碼。(在計算機管理中的用戶管理裡),如下圖:


  9.同步IIS metabase中IWAM_MYSERVER的密碼,在CMD中:c:\inetput\adminscripts>adsutil set w3svc/wamuserpass "yourpassword"
  10.同步COM+應用程序所用的IWAM_MYSERVER密碼,在CMD中:c:\inetput\adminscripts>cscript synciwam.vbs -v
  11.在浏覽器地址欄輸入:
http://127.0.0.1  ,可以發現此時的IIS已經在正常工作了,見下圖:

      附:網上關於IWAM帳號的說明:                                                              IWAM賬號是安裝IIS5時系統自動建立的一個內置賬號,主要用於啟動進程之外的應用程序的Internet信息服務。IWAM賬號的名字會根據每台計算機NETBIOS名字的不同而有所不同,通用的格式是IWAM_MACHINE,即由“IWAM”前綴、連接線“_”加上計算機的NETBIOS名字組成。我的計算機的NETBIOS名字是MYSERVER,因此我的計算機上IWAM賬號的名字就是IWAM_MYSERVER,這一點與IIS匿名賬號ISUR_MACHINE的命名方式非常相似。 

  IWAM賬號建立後被Active Directory、IIS metabase數據庫和COM+應用程序三方共同使用,賬號密碼被三方分別保存,並由操作系統負責這三方保存的IWAM密碼的同步工作。按常理說,由操作系統負責的工作我們大可放心,不必擔心出錯,但不知是BUG還是其它什麼原因,系統的對IWAM賬號的密碼同步工作有時會失敗,使三方IWAM賬號所用密碼不統一。當IIS或COM+應用程序使用錯誤IWAM的密碼登錄系統,啟動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內部錯誤就這樣產生了。 
Copyright © Windows教程網 All Rights Reserved