文章目錄
IIS 上的 ASP.NET 程式出現 500.19 (0x8007000d) 錯誤?
這是同事在處理 IIS 上的 application 改用 64-bit (不啟用 32-bit) 時遇到的狀況,之前筆記 IIS Express 出現 500.19 - 0x800700b7 錯誤?! 有紀錄到類似的錯誤,也是一樣出現 500.19 當時是因為 web.config 的設定與更上層的 applicationhost.config 或是 machine.config 重覆造成,原以為是相同錯誤定視細看才發現錯誤代碼不同
立馬來看看 0x8007000d
的錯誤原因是什麼吧
錯誤訊息
訊息內容
Server Error Internet Information Services 7.5 Error Summary HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x8007000d Config Error Config File \\?\D:\tempIIS\****\web.config Requested URL http://localhost:8086/ Physical Path Logon Method Not yet determined Logon User Not yet determined Config Source -1: 0: Links and More Information This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.
錯誤截圖
錯誤異常狀況
錯誤訊息指出 web.config 異常,但異常位置卻無法正確指出
問題發生原因
專案 web.config 有
URL Rewrite
相關設定,但新機器 IIS 尚未安裝URL Rewrite
造成 IIS 無法判讀 web.config 中的設定造成
解決方式
- 直接下載 URL Rewrite 並安裝
透過
Web Platform Installer
Product –> 搜尋
URL Rewrite
Add
Install
心得
剛遇到問題時還真愣了一下,雖然有錯誤訊息但籠統到跟沒有一樣:只說 web.config 有問題,但卻指不出錯誤原因,造成找解決方式時多花了些時間
問題解決再冷靜了段時間才聯想到 ansible 這類的組態設定管理工具受到重視的原因:server 甚至 host machine 的組態設定直接影響系統的可用性,但很多時候都是人為管理也沒有版本控制的觀念,只能透過口耳相傳,隨著人員流動、時間流逝很容易造成設定被遺漏,改天應該找時間來試試不同做法看是不是能徹底解決問題
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。