HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關配置數據無效。 詳細錯誤:定義了重複的節點
應用程序池運行模式(Classic / Integrated)與 web.config 中的配置節不兼容。典型場景:
<system.webServer> 節點配置模塊/處理程序。web.config 僅有 <system.web> 節點(<httpModules>、<httpHandlers>),且部署到 Integrated 池,IIS 會嘗試合並配置,導致「重複節點」衝突。inetmgr)。將 <system.web> 下的 <httpModules>、<httpHandlers> 遷移至 <system.webServer>:
<system.webServer>
<modules>
<add name="MyModule" type="MyNamespace.MyModule" />
</modules>
<handlers>
<add name="MyHandler" path="*.my" verb="*" type="MyNamespace.MyHandler" preCondition="integratedMode" />
</handlers>
</system.webServer>
並設置應用程序池為 Integrated(現代標準,性能更好、管道統一)。
| 錯誤描述 | 典型原因 | 解決 |
|---|---|---|
| 無法讀取配置文件 | 權限不足 / web.config 損壞 / XML 格式錯誤 | 檢查 IIS_IUSRS 讀取權限、XML 格式 |
| 鎖定違規 | 父級配置鎖定了節點(<section allowOverride="false">) | 在 applicationHost.config 解鎖,或移除子站點該節點 |
| 模塊/處理程序加載失敗 | DLL 缺失 / 版本錯誤 / 位數不匹配 (32/64bit) | 啟用「啟用 32 位應用程序」或部署正確架構 DLL |
appcmd list config "SiteName" /section:system.webServer/modules