Windows

如何調試 Windows server 2016 IIS“錯誤 404 - 找不到文件或目錄”

  • January 23, 2019

我無法讓我的 ASP .NET Web 應用程序在我的新 AWS EC2 VM Windows Server 2016 上執行。Web 應用程序多年來一直在 Azure VM Windows Server 2012 R2 上執行。

問題:

我得到:

“錯誤 404 - 找不到文件或目錄”

..當我嘗試從外部 Internet 或伺服器本身瀏覽到我在新 AWS EC2 VM 上的 Windows Server 2016 IIS 上託管的 ASP.NET Web 應用程序時。如果我從 IIS > 站點 > 我的網站 > 管理網站 > 瀏覽瀏覽,也會出現同樣的錯誤

當我刪除並重新添加網站時,我收到此錯誤(另見下面的螢幕截圖):

IIS > 添加網站 > 測試連接 > 黃色警告標誌無法驗證對路徑的訪問(我的 Web 應用項目的路徑)

嘗試修復…

IIS > 連接 > my_web_site > 瀏覽不起作用:“找不到網頁”

IIS > 連接 > my_web_site > 管理網站 > 瀏覽 cmd 獲取伺服器錯誤 404 文件或找不到目錄

IIS > 連接 > my_web_site > 編輯綁定 > 瀏覽獲取伺服器錯誤 404 文件或找不到目錄

我嘗試刪除 IIS > 站點 > 我的網站,然後重新添加它。仍然得到錯誤 404。

背景…

ASP.NET 在以前的 Azure VM Windows Server 2012 R2 上執行良好。

當我從新 AWS VM 上的 Visual Studio 調試 ASP.NET 應用程序時,它執行正常。

所有 IIS 綁定的設置就像在以前的 Azure VM 上一樣。

錯誤…

在此處輸入圖像描述

WEB 應用程序的 IIS 屬性………………。 在此處輸入圖像描述

C:\inetpub\logs\LogFiles\ 中的 IIS 日誌

有3個子文件夾:

W3SVC1\ 其中包含一個文件……

   #Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 15:02:21
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 15:02:21 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 78
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 15:54:19
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 15:54:19 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 156
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 17:37:36
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 17:37:36 172.31.37.156 GET /wp-login.php - 80 - 185.234.217.208 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+125LA;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.5.21022) http://prayshep.com/wp-login.php 404 0 2 171
2019-01-12 17:37:36 172.31.37.156 GET /wp-login.php - 80 - 185.234.217.208 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+125LA;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.5.21022) http://prayshep.com/wp-login.php 404 0 2 125
2019-01-12 17:48:43 172.31.37.156 GET /Default.aspx - 80 - 73.70.70.121 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/64.0.3282.140+Safari/537.36+Edge/17.17134 - 404 3 50 93
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 23:31:12
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 23:31:12 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 46
2019-01-12 23:31:13 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 31
2019-01-12 23:34:18 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 15
2019-01-12 23:38:39 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 31

W3SVC2\ 其中包含一個文件……

#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 22:11:19
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 22:11:19 172.31.37.156 GET / - 80 - 52.53.201.78 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_12_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/61.0.3163.100+Safari/537.36 - 404 3 50 109
#Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 23:39:21
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 23:39:21 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 78
2019-01-12 23:40:11 172.31.37.156 GET / - 80 - 52.15.212.41 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 15
2019-01-12 23:43:17 172.31.37.156 GET / - 80 - 73.70.70.121 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/64.0.3282.140+Safari/537.36+Edge/17.17134 - 404 3 50 78

W3SVC3\ 其中包含一個文件……

   #Software: Microsoft Internet Information Services 10.0
#Version: 1.0
#Date: 2019-01-12 23:32:18
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2019-01-12 23:32:18 ::1 GET / - 80 - ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 404 3 50 109

IIS > 連接 > 我的網站 > 預設文件 在此處輸入圖像描述

我的 ASP .NET Web 應用程序的目錄

IIS > 添加網站 > 測試連接 在此處輸入圖像描述

您的域似乎指向了正確的伺服器,並且 IIS 正在響應您的初始請求。您收到的 404 錯誤是由 IIS 生成的。

您是否檢查了 Web 應用程序的預設文件設置?它應該與您的應用程序預設文件匹配,例如。預設.aspx。確認您指的是正確的頁面,即預設文件設置中的登錄頁面。

還要確保您正在執行適用於您的 Web 應用程序的正確版本的 .NET 框架。.NET Framework 版本可以從 IIS 的應用程序池頁面更新。

嘗試從綁定中刪除主機名並從伺服器本身(通過 IIS 控制台)瀏覽以查看應用程序是否打開。在這種情況下,您將只綁定到機器上可用的 IP 地址,主機名為空。從公共端瀏覽時,您需要在瀏覽器中輸入 IP。

檢查您的 web.config(在您的 web 應用程序文件夾中)配置,有時這些會向 IIS 添加額外的配置並導致不必要的挫折。如果 web.config 中沒有任何有價值的內容,請嘗試從 Web 應用程序文件夾中刪除該文件,然後重試。

其他故障排除步驟包括刪除整個應用程序,只需將基本 index.html 頁面放入您的 Web 應用程序文件夾中。更新您的預設文件設置以引用此新頁面。再次從 IIS 瀏覽。

引用自:https://serverfault.com/questions/948775