開啟 IIS 網頁時出現「HTTP Error 500.0 - Internal Server Error」錯誤
本文可協助您解決當您造訪 IIS 上裝載的網站時所發生的 HTTP 500.0 錯誤。
原始產品版本: Internet Information Services
原始 KB 編號: 942031
摘要
本文說明當您在 Internet Information Services (IIS) Web 應用程式中遇到 500.0 錯誤時出現的 HResult 代碼。 本文適用于網站管理員。 這些錯誤有許多原因,而且可能會影響許多不同的系統設定。 本文所述的程式必須由伺服器上的系統管理員群組成員執行。
遇到這些錯誤的終端使用者應該將問題通知給網站管理員。
HResult 代碼
HTTP 錯誤 500 訊息表示在傳回錯誤時,裝載網站的網頁伺服器發生問題。
以下是這些錯誤的詳細資料。
HResult 代碼 0x80070032
錯誤訊息:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070032
HRESULT ISAPI 篩選器 drive:\FilePath\ISAPI_FLT.dll 嘗試註冊SF_NOTIFY_READ_RAW_DATA
通知的描述。
原因
發生此問題的原因是 IIS 7.0 不支援註冊 SF_NOTIFY_READ_RAW_DATA
通知的網際網路伺服器 API (ISAPI) 篩選器。
解決方案
請勿使用在 IIS 中註冊 SF_NOTIFY_READ_RAW_DATA
通知的 ISAPI 篩選準則。
HResult 代碼 0x80070035
錯誤訊息:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070035
因發生內部伺服器錯誤而無法顯示頁面 HRESULT 的描述。
原因
發生此問題的原因是執行 IIS 7.0 的伺服器無法存取所要求位置的已設定根目錄。
解決方案
請確定執行 IIS 7.0 的伺服器可以存取所要求位置的已設定根目錄。
HResult 代碼 0x8007000d
錯誤訊息:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007000d
HRESULT 處理常式 「ASPClassic」 的描述在其模組清單中有不正確的模組 「IsapiModule」。
原因
發生此問題的原因是網站的模組清單中遺漏了 ISAPIModule 模組。 ISAPIModule 模組位於下列位置: drive:\Windows\System32\inetsrv\isapi.dll。
解決方案
將 ISAPIModule 模組新增至網站的模組清單。 如果要執行這項操作,請依照下列步驟執行:
- 按一下 [開始],再按一下 [執行],輸入 Inetmgr.exe,然後按一下 [確定]。
- 在 [IIS 管理員] 中,展開 <[伺服器名稱]>,展開 [ 網站],然後按下您要修改的網站。
- 在 [功能] 檢視中,按兩下 [模組]。
- 在 [動作] 窗格中,按一下 [新增原生模組]。
- 在 [新增原生模組] 對話方塊中,按一下以選取 IsapiModule 核取方塊,然後按一下 [確定]。
HResult 代碼 0x800700c1
錯誤訊息:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x800700c1
因發生內部伺服器錯誤而無法顯示頁面 HRESULT 的描述。
原因
發生此問題的原因是指令碼對應無效。
解決方案
請確定指令碼對應指向可處理要求的 ISAPI.dll 檔案。 如果要執行這項操作,請依照下列步驟執行:
- 按一下 [開始],再按一下 [執行],輸入 Inetmgr.exe,然後按一下 [確定]。
- 在 [IIS 管理員] 中,展開 <[伺服器名稱]>,展開 [ 網站],然後按下您要修改的網站。
- 在 [功能] 檢視中,按兩下 [處理常式對應]。
- 請確定指令碼對應指向正確的 ISAPI.dll 檔案。 例如, .asp 檔案應該對應至 %windir%\system32\inetsrv\asp.dll 檔案。
HResult 代碼 0x80070005
錯誤訊息:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070005
ISAPI 篩選器 「path_of_isapi」 上的 HRESULT LoadLibraryEx 失敗描述。
原因
之所以發生此問題,是因為在全域層級或網站層級載入不正確 ISAPI 篩選條件。
解決方案
移除無效的 ISAPI 篩選條件。 如果要執行這項操作,請依照下列步驟執行:
- 按一下 [開始],再按一下 [執行],輸入 Inetmgr.exe,然後按一下 [確定]。
- 在 [IIS 管理員] 中,展開 <[伺服器名稱]>,展開 [ 網站],然後按下您要修改的網站。
- 在 [功能] 檢視中,按兩下 [ISAPI 篩選條件]。
- 在要移除的 ISAPI 篩選條件 上按右鍵,然後按一下 [移除]。
HResult 代碼 0x8007007f
HResult 0x8007007f 有兩種可能性:
錯誤訊息 1:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007007f
ISAPI 篩選器 「path_of_isapi」 上 HRESULT 呼叫 GetProcAddress 失敗的描述。原因
之所以發生此問題,是因為在全域層級或網站層級載入不正確 ISAPI 篩選條件。
解決方案
若要解決此問題,請移除無效的 ISAPI 篩選條件。 如果要執行這項操作,請依照下列步驟執行:
- 按一下 [開始],再按一下 [執行],輸入 Inetmgr.exe,然後按一下 [確定]。
- 在 [IIS 管理員] 中,展開 <[伺服器名稱]>,展開 [ 網站],然後按下您要修改的網站。
- 在 [功能] 檢視中,按兩下 [ISAPI 篩選條件]。
- 在要移除的 ISAPI 篩選條件 上按右鍵,然後按一下 [移除]。
錯誤訊息 2:
應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007007f
您要尋找的資源有問題,因此無法顯示的 HRESULT 描述。原因
之所以發生此問題,是因為所要求資源的處理常式對應指向無法處理要求的 .dll 檔案。
解決方案
若要解決此問題,請編輯所要求資源的處理常式對應,以指向可處理要求 的.dll 檔案。 如果要執行這項操作,請依照下列步驟執行:
- 按一下 [開始],再按一下 [執行],輸入 Inetmgr.exe,然後按一下 [確定]。
- 在 [IIS 管理員] 中,展開 <[伺服器名稱]>,展開 [ 網站],然後按下您要修改的網站。
- 在 [功能] 檢視中,按兩下 [處理常式對應]。
- 在要編輯的指令碼對應上按右鍵,然後按一下 [編輯]。
- 在 [編輯指令碼對應] 對話方塊的 [可執行] 方塊中輸入適當的可執行檔案,然後按一下 [確定]。
例如, .asp 檔案應該對應至 %windir%\system32\inetsrv\asp.dll 檔案。
其他相關資訊
對於從 Web 應用程式程式代碼擲回的任何例外狀況,請檢查 [應用程式事件記錄檔] 或您自己的 [應用程式記錄檔],以取得 [例外狀況類型]、[例外狀況訊息] 和 [例外狀況呼叫堆棧]。 如果需要進一步偵錯,請使用 DebugDiag 最新版本來擷取 第一個可能的例外狀況傾印。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應