問題
最近將 NodeJS 的程式部署到 Azrue WebApp (windows) 之後,
去瀏覽網頁一看,居然顯示以下的錯誤,
The page cannot be displayed because an internal server error has occurred.
原本發生錯誤會寫到 iisnode 目錄之中的 log 也沒有寫,
透過 App Service Editor 查看 WebApp 的 Output 也都沒有任何東西。
研究與解決
原本沒問題的,現在有問題,那應該是有什麼異動吧。
所以就先檢查 WebApp 的 Configuration 中的 WEBSITE_NODE_DEFAULT_VERSION 版本是否有在現在 Azure 所 Support 的 Node Runtime 之中。
可以連到 https://[你的webapp名稱].scm.azurewebsites.net/api/diagnostics/runtime 查看,
我將設定值改成 12.15.0 ,再執行還是一樣的錯誤。
再來就是測試一下 web.config ,於是拿 沒問題的web.config 更新上去,
再執行程式,居然好了。 那問題就是出在 web.config 上面。
最後發現是因為 web.config 中,在 rewrite 區段中,有加入 allowedServerVariables 的區段,導致 WebApp 直接錯誤。
原本的 web.config 如下,
1 |
|
目前就先將該區段移除 。