同事報案,某組 Windows 2012R2 Web Farm 均已設定 web.config <customErrors mode="On" /> HTTP 404 網頁理應如下:

但 Web Farm 其中一台卻會顯示詳細錯誤,導致實體路徑資訊外洩:

最後同事找出原因,IIS Error Pages 設定有個 Edit Feature Settings,問題主機被設成「Detail Errors」:

心中對這組設定與 customErrors 的關係滿心狐疑,爬文後才驚覺自己寫過文章:ASP.NET 相關程式錯誤由 <system.web><customErrors> 控制,靜態檔案(html、gif、png、jpg、js、css)則由 <system.webServer> <httpErrors> 決定,不過一年多前的事竟忘得一乾二淨,特再撰文一篇加強印象,確保此生不忘,阿彌陀佛~