熱點推薦:
您现在的位置: 電腦知識網 >> 電腦常識 >> 正文

IIS HTTP 500錯誤的解決方法

2013-11-11 14:59:36  來源: 電腦常識 

  HTTP錯誤及解決方法一錯誤表現 iis的http 內部服務器錯誤是我們經常碰到的錯誤之一它的主要錯誤表現就是asp程序不能浏覽但htm靜態網頁不受影響另外當錯誤發生時系統事件日志和安全事件日志都會有相應的記錄

  具體如下

  (一)ie中的表現 當浏覽以前能夠正常運行的asp頁面時會出現如下的錯誤: 網頁無法顯示 您要訪問的網頁存在問題因此無法顯示 請嘗試下列操作 打開 主頁尋找指向所需信息的鏈接 單擊刷新按鈕或者以後重試 http 內部服務器錯誤 internet 信息服務 技術信息(支持個人) 詳細信息 microsoft 支持 或者是: server application error the server has encountered an error while loading an application during the processing of your request please refer to the event log for more detail information please contact the server administrator for assistance

  (二)安全日志記錄(條) 事件類型: 失敗審核 事件來源: security 事件種類: 登錄/注銷 事件 id: 日期: 事件: :: 用戶: nt authoritysystem 計算機: myserver 描述: 登錄失敗: 原因: 用戶名未知或密碼錯誤 用戶名: iwam_myserver 域: mydom 登錄類型: 登錄過程: advapi 身份驗證程序包: microsoft_authentication_package_v_ 工作站名: myserver 事件類型: 失敗審核 事件來源: security 事件種類: 帳戶登錄 事件 id: 日期: 事件: :: 用戶: nt authoritysystem 計算機: myserver 描述: 登錄到帳戶: iwam_myserver 登錄的用戶: microsoft_authentication_package_v_ 從工作站: myserver 未成功錯誤代碼是:

  (三)系統日志中的記錄(條) 事件類型: 錯誤 事件來源: dcom 事件種類: 無 事件 id: 日期: 事件: :: 用戶: n/a 計算機: myserver 描述: dcom 遇到錯誤“無法更新密碼提供給新密碼的值包含密碼中不允許的值 ”並且無法登錄到 iwam_myserver 上以運行服務器: ddfbeddcfdc} 事件類型: 警告 事件來源: wsvc 事件種類: 無 事件 id: 日期: 事件: :: 用戶: n/a 計算機: myserver 描述: 服務器未能轉入應用程序 ‘/lm/wsvc//root‘錯誤是 ‘runas 的格式必須是<域名><用戶名>或只是<用戶名>‘ 若要獲取關於此消息的更多的信息請訪問 microsoft 聯機支持站點:

  二原因分析 綜合分析上面的錯誤表現我們可以看出主要是由於iwam賬號(在我的計算機即是iwam_myserver賬號)的密碼錯誤造成了http 內部錯誤 在詳細分析http內部錯誤產生的原因之前先對iwam賬號進行一下簡要的介紹iwam賬號是安裝iis時系統自動建立的一個內置賬號主要用於啟動進程之外的應用程序的internet信息服務iwam賬號的名字會根據每台計算機netbios名字的不同而有所不同通用的格式是iwam_machine即由“iwam”前綴連接線“_”加上計算機的netbios名字組成我的計算機的netbios名字是myserver因此我的計算機上iwam賬號的名字就是iwam_myserver這一點與iis匿名賬號isur_machine的命名方式非常相似 iwam賬號建立後被active directoryiis metabase數據庫和com+應用程序三方共同使用賬號密碼被三方分別保存並由操作系統負責這三方保存的iwam密碼的同步工作按常理說由操作系統負責的工作我們大可放心不必擔心出錯但不知是bug還是其它什麼原因系統的對iwam賬號的密碼同步工作有時會失敗使三方iwam賬號所用密碼不統一當iis或com+應用程序使用錯誤iwam的密碼登錄系統啟動iis outofprocess pooled applications時系統會因密碼錯誤而拒絕這一請求導致iis outofprocess pooled applications啟動失敗也就是我們在id錯誤事件中看到的“不能運行服務器 ddfbeddcfdc} ”(這裡 ddfbeddcfdc} 是iis outofprocess pooled applications的key)不能轉入iis應用程序http 內部錯誤就這樣產生了

  三解決辦法 知道了導致http 內部錯誤的原因解決起來就比較簡單了那就是人工同步iwam賬號在active directoryiis metabase數據庫和com+應用程序中的密碼 具體操作分三步均需要以管理員身份登錄計算機以提供足夠的操作權限(iwam賬號以iwam_myserver為例)

  (一)更改active directory中iwam_myserver賬號的密碼 因iwam賬號的密碼由系統控制隨機產生我們並不知道是什麼為完成下面兩步的密碼同步工作我們必須將iwam賬號的密碼設置為一個我們知道的值 選擇“開始”>“程序”>“管理工具”>"active directory用戶和計算機"啟動“active directory用戶和計算機”管理單元 單擊“user”選中右面的“iwam_myserver”右擊選擇“重設密碼(t)在跳出的重設密碼對方框中給iwam_myserver設置新的密碼這兒我們設置成“aboutnt”(沒有引號的)確定等待密碼修改成功

  (二)同步iis metabase中iwam_myserver賬號的密碼 可能因為這項改動太敏感和重要微軟並沒有為我們修改iis metabase中iwam_myserver賬號密碼提供一個顯式的用戶接口只隨iis提供了一個管理腳本adsutilvbs這個腳本位於c:inetpubadminscripts子目錄下(位置可能會因你安裝iis時設置的不同而有所變動) adsutilvbs腳本功能強大參數非常多且用法復雜這裡只提供使用這個腳本修改iwam_myserver賬號密碼的方法: adsutil set wsvc/wamuserpass password "password"參數就是要設置的iwam賬號的新的密碼因此我們將iis metabase中iwam_myserver賬號的密碼修改為“aboutnt”的命令就是 c:inetpubadminscripts>adsutil set wsvc/wamuserpass "aboutnt" 修改成功後系統會有如下提示 wamuserpass: (string) "aboutnt"

  (三)同步com+應用程序所用的iwam_myserver的密碼 同步com+應用程序所用的iwam_myserver的密碼我們有兩種方式可以選擇:一種是使用組件服務mmc管理單元另一種是使用iwam賬號同步腳本synciwamvbs 使用組件服務mmc管理單元 ()啟動組件服務管理單元選擇“開始”>“運行”>“mmc”啟動管理控制台打開“添加/刪除管理單元”對話框將“組件服務”管理單元添加上 ()找到“組件服務”>“計算機”>“我的電腦”>“com+應用程序”>“outofprocess pooled applications”右擊“outofprocess pooled applications”>“屬性” ()切換到“outofprocess pooled applications”屬性對話框的“標志”選項卡“此應用程序在下列賬戶下運行”選擇中“此用戶”會被選中用戶名是“iwam_myserver”這些都是缺省的不必改動在下面的“密碼”和“確認密碼”文本框內輸入正確的密碼“aboutnt確定退出 ()系統如果提示“應用程序被一個以上的外部產品創建你確定要被這些產品支持嗎?”時確定即可 ()如果我們在iis中將其它一些web的“應用程序保護”設置為“高(獨立的)”那麼這個web所使用的com+應用程序的iwam賬號密碼也需要同步重復()()步同步其它相應out of process application的iwam賬號密碼 使用iwam賬號同步腳本synciwamvbs 實際上微軟已經發現iwam賬號在密碼同步方面存在問題因此在iis的管理腳本中單獨為iwam賬號密碼同步編寫了一個腳本synciwamvbs這個腳本位於c:inetpubadminscripts子目錄下(位置可能會因你安裝iis時設置的不同而有所變動) synciwamvbs腳本用法比較簡單 cscript synciwamvbs [v|h] “v”參數表示詳細顯示腳本執行的整個過程(建議使用)h”參數用於顯示簡單的幫助信息 我們要同步iwam_myserver賬號在com+應用程序中的密碼只需要執行“cscript synciwamvbs v”即可如下 cscript c:inetpubadminscriptssynciwamvbs v microsoft (r) windows script host version 版權所有(c) microsoft corporation 保留所有權利 wamusername:iwam_myserver wamuserpass:aboutnt iis applications defined: name appisolated package id wsvc dcfbeddcfdc} root iishelp iisadmin iissamples msadc root iisadmin iishelp root root out of process applications defined: count: ddfbeddcfdc} updating applications: name: iis outofprocess pooled applications key: ddfbeddcfdc} 從上面腳本的執行情況可以看出使用synciwamvbs腳本要比使用組件服務的方法更全面和快捷它首先從iis的metabase數據庫找到iwam賬號"iwam_myserver"並取出對應的密碼“aboutnt然後查找所有已定義的iis applications和out of process applications並逐一同步每一個out of process applications應用程序的iwam賬號密碼 使用synciwamvbs腳本時要注意一個問題那就是在你運行synciwamvbs之前必須保證iis metabase數據庫與active directory中的iwam密碼已經一致因為synciwamvbs腳本是從iis metabase數據庫而不是從active directory取得iwam賬號的密碼如果iis metabase中的密碼不正確那synciwamvbs取得的密碼也會不正確同步操作執行到“updating applications”系統就會報錯誤即“找不到應用程序 ddfbeddcfdc}”


From:http://tw.wingwit.com/Article/Common/201311/6057.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.