標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: IIS5 HTTP500內部錯誤解決辦法 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
bababa
Groupie
Groupie


加入: 2004/5月/29
Online Status: Offline
回復: 46
Posted: 2004/5月/29 5:19下午 | IP記錄 引用 bababa

一.錯誤表現
IIS5的HTTP 500內部服務器錯誤是我們經常碰到的錯誤之一,它的主要錯誤表現
就是ASP程序不能瀏覽但HTM靜態網頁不受影響。另外當錯誤發生時,系統事件日
志和安全事件日誌都會有相應的記錄。

具體如下:
(一)IE中的表現
當瀏覽以前能夠正常執行的asp頁面時會出現如下的錯誤:

網頁無法顯示
您要訪問的網頁存在問題,因此無法顯示。
請嘗試下列操作:
打開 127.0.0.1 主頁,尋找指向所需訊息的連結。
單擊刷新按鈕,或者以後重試。
HTTP 500 - 內部服務器錯誤
Internet 訊息服務
技術訊息(支持個人)
詳細訊息:
Microsoft 支持

或者是:
Server Application Error
The server has encountered an error  while loading an application durin
g the processing of your request.&n bsp;Please refer to the event log&n bsp;for mo
re detail information. Please contact&nb sp;the server administrator for ass
istance.

(二)安全日誌記錄(2條)
事件類型: 失敗審核
事件來源: Security
事件種類: 登錄/註銷
事件 ID: 529
日期: 2001-9-9
事件: 11:17:07
使用者: NT AUTHORITY\SYSTEM
計算機: MYSERVER
描述:
登錄失敗:
原因: 使用者名未知或密碼錯誤
使用者名: IWAM_MYSERVER
域: MYDOM
登錄類型: 4
登錄過程: Advapi
身份驗證程序包: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
工作站名: MYSERVER

事件類型: 失敗審核
事件來源: Security
事件種類: 帳戶登錄
事件 ID: 681
日期: 2001-9-9
事件: 11:17:07
使用者: NT AUTHORITY\SYSTEM
計算機: MYSERVER
描述:
登錄到帳戶: IWAM_MYSERVER
登錄的使用者: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
從工作站: MYSERVER
未成功。錯誤代碼是: 3221225578

(三)系統日誌中的記錄(2條)
事件類型: 錯誤
事件來源: DCOM
事件種類: 無
事件 ID: 10004
日期: 2001-9-9
事件: 11:20:26
使用者: N/A
計算機: MYSERVER
描述:
DCOM 遇到錯誤「無法更新密碼。提供給新密碼的值包含密碼中不允許的值。 」
並且無法登錄到 .\IWAM_MYSERVER 上以執行服務器:
{3D14228D-FBE1-11D0-995D-00C04FD919C1}

事件類型: 警告
事件來源: W3SVC
事件種類: 無
事件 ID: 36
日期: 2001-9-9
事件: 11:20:26
使用者: N/A
計算機: MYSERVER
描述:
服務器未能轉入應用程序 '/LM/W3SVC/4/Root'。錯誤是 'RunAs 的格式 必須是<
域名>\<使用者名>或只是<使用者名>'。
若要獲取關於此消息的更多的訊息,請訪問 Microsoft 聯機支持站點: 
www.microsoft.com/contentredirect.asp 。

二.原因分析
綜合分析上面的錯誤表現我們可以看出,主要是由於IWAM帳號(在我的計算機即
是IWAM_MYSERVER帳號)的密碼錯誤造成了HTTP 500內部錯誤。
在詳細分析HTTP500內部錯誤產生的原因之前,先對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 Applicatio ns啟動失敗,也就
是我們在ID10004錯誤事件中看到的「不能執行服務器{3D14228D-FBE1-11D0-995
D-00C04FD919C1} 」(這裡{3D14228D-FBE1-11D0-995D-00C04FD919 C1} 是IIS O
ut-Of-Process Pooled Applications的KEY),不能轉入IIS5應用程 序,HTTP 5
00內部錯誤就這樣產生了。

三.解決辦法
知道了導致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設置新的密碼,這兒我們設置成
「Aboutnt2001」(沒有引號的),確定,等待密碼修改成功。

(二)同步IIS metabase中IWAM_MYSERVER帳號的密碼
可能因為這項改動太敏感和重要,微軟並沒有為我們修改IIS metabase中IWAM_M
YSERVER帳號密碼提供一個顯式的使用者接口,只隨IIS5提供了一個管理腳本adsut
il.vbs,這個腳本位於C:\inetpub\adminscripts子目錄下(位置可能會因你安裝
IIS5時設置的不同而有所變動)。

adsutil.vbs腳本功能強大,參數非常多且用法複雜,這裡只提供使用這個腳本修
改IWAM_MYSERVER帳號密碼的方法:

adsutil SET w3svc/WAMUserPass Password

"Password"參數就是要設置的IWAM帳號的新的密碼。因此我們將IIS metabase中
IWAM_MYSERVER帳號的密碼修改為「Aboutnt2001」的命令就是:

c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUs erPass "Aboutnt2001"

修改成功後,系統會有如下提示:
WAMUserPass: (String) "Aboutnt2001"

(三)同步COM+應用程序所用的IWAM_MYSERVER的密碼
同步COM+應用程序所用的IWAM_MYSERVER的密碼,我們有兩種方式可以選擇:一種
是使用元件服務MMC管理單元,另一種是使用IWAM帳號同步腳本synciwam.vbs。
1、使用元件服務MMC管理單元
(1)啟動元件服務管理單元:選擇「開始」->「執行」->「MMC」,啟動管理控
制台,打開「添加/刪除管理單元」對話框,將「元件服務」管理單元添加上。

(2)找到「元件服務」->「計算機」->「我的電腦」->「COM+應用程序」->「O
ut-Of-Process Pooled Applications」,右擊「Out-Of-Proce ss Pooled Appli
cations」->「屬性」。

(3)切換到「Out-Of-Process Pooled Applications」屬性對話框的「標 誌」選
項卡。「此應用程序在下列帳戶下執行」選擇中「此使用者」會被選中,使用者名是
「IWAM_MYSERVER」。這些都是缺省的,不必改動。在下面的「密碼」和「確認密
碼」文本框內輸入正確的密碼「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:\ine
tpub\adminscripts子目錄下(位置可能會因你安裝IIS5時設置的不同而有所變動)。

synciwam.vbs腳本用法比較簡單:

cscript synciwam.vbs [-v|-h]

「-v」參數表示詳細顯示腳本執行的整個過程(建議使用),「-h」參數用於顯示
簡單的幫助訊息。

我們要同步IWAM_MYSERVER帳號在COM+應用程序中的密碼,只需要執行
「cscript synciwam.vbs -v」即可,如下:

cscript c:\inetpub\adminscripts\synciwam.vbs -v
Microsoft (R) Windows Script Host V ersion 5.6
版權所有(C) Microsoft Corporation 1996-2000。保留所有權 利。
WamUserName:IWAM_MYSERVER
WamUserPass:Aboutnt2001
IIS Applications Defined:
Name, AppIsolated, Package ID
w3svc, 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 Applicat ions Key: {3D14228D-FBE1-11D0-
995D-00C04FD919C1}

從上面腳本的執行情況可以看出,使用synciwam.vbs腳本要比使用元件服務的方
法更全面和快捷。它首先從IIS的metabase資料庫找到IWAM帳號"IWAM_MYSERVER"
並取出對應的密碼「Aboutnt2001」,然後查找所有已定義的IIS Applications和
Out of process applications,並逐一同步每一個Out  of process applicatio
ns應用程序的IWAM帳號密碼。

使用synciwam.vbs腳本時,要注意一個問題,那就是在你執行synciwam.vbs之前,
必須保證IIS metabase資料庫與Active Directory中的IWAM密碼已經一致。因
為synciwam.vbs腳本是從IIS metabase資料庫而不是從Active Directo ry取得IW
AM帳號的密碼,如果IIS metabase中的密碼不正確,那synciwam.vbs取得的密碼
也會不正確,同步操作執行到「Updating Applications」系統就會報80110414錯
誤,即「找不到應用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}」。

好了,到現在為止,IWAM帳號在Active Directory、IIS metabase資料庫和C OM+
應用程序三處的密碼已經同步成功,你的ASP程序又可以執行了! 

Back to Top 查看 bababa's 資料 搜索其他貼子 bababa 訪問 bababa's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.1680 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
美材批發
美材, Cosmetic
www.elady.tw/beauty_org
保養品批發
名牌保養品、保養品批發
gb.perfume.com.tw/skincare
飾品批發
飾品、飾品批發
gb.perfume.com.tw/ornament