Windows-Server-2008

新 Windows 2012 Server (IIS 8) 上的新站點從 Windows 7 返回 404

  • June 22, 2013

我有一個全新的 Windows 2012 Server 安裝,並試圖建立一個簡單的網站。我可以使用 IP 地址訪問預設網站(返回 IIS 8 首頁)。但是我在一個新創建的包含單個 .html 頁面的站點上收到 404。

以下是我在伺服器上採取的步驟:

1)創建一個新站點(保留所有預設設置,除了:)

2)將主機名(標題)設置為“測試”(將 IP 保留為 *,埠保留為 80)

3)設置wwwroot\test 的物理路徑

  1. 在 wwwroot\test 下創建一個 index.html 文件

這是我在客戶端(Windows 7 Pro)上採取的步驟:

1)更新主機文件以將“測試”指向伺服器IP(通過“測試”的ping驗證它是否解析為正確的IP)

2)瀏覽到測試/索引.html

響應:

未找到


HTTP 錯誤 404。未找到請求的資源。

其他線索:

  • 我檢查了日誌,沒有為“測試”記錄任何活動——我看到的只是預設站點請求的日誌。
  • 如果我停止預設站點並僅瀏覽到 IP,我會得到相同的 404。
  • 如果我停止兩個站點並瀏覽到 IP,我會收到連接超時。
  • 如果我停止這兩個站點並瀏覽到“測試”,我會得到相同的 404。
  • 通過 Fiddler 檢查“測試”(404)請求,標頭為:

HTTP/1.1 404 Not Found

Content-Type: text/html; charset=us-ascii

伺服器:Microsoft-HTTPAPI/2.0

日期:星期六,2013 年 6 月 22 日 04:39:10 GMT

連接:關閉

內容長度:315

  • 通過 Fiddler 檢查預設站點 (200) 請求,標頭為:

HTTP/1.1 200 OK

內容類型:text/html

內容編碼:gzip

上次修改時間:星期六,2013 年 6 月 22 日 02:45:45 GMT

接受範圍:字節

ETag:“3b69f897f26ece1:0”

變化:接受編碼

伺服器: Microsoft-IIS/8.0

X-Powered-By: ASP.NET

日期: Sat, 22 Jun 2013 04:58:31 GMT

Content-Length: 820

此外,在伺服器上拔下網線後:

  • ping “test”仍然響應並解析到伺服器的 IP (127.168.1.125)
  • 檢查我的路由器,我確認 127.168.1.125 已映射到新的 Web 伺服器
  • 瀏覽到預設站點繼續超時
  • 瀏覽“測試”仍然給我 404
  • 在 Fiddler 中檢查請求 IP確認“測試”請求正在解析到正確的 IP (127.168.1.125)

似乎,根據拉動網路電纜後的結果,這不是伺服器的問題(無論是否插入電纜,都會發生同樣的事情),但根據 Fiddler 的結果,客戶端正在做它應該做的一切(路由到正確的 IP,即使沒有連接,仍然會得到 404)。

有很多事情發生了莫名其妙的錯誤:

  • 為什麼即使拔掉電纜,我也會在“測試”時得到 404?

  • 為什麼即使拔掉電纜,我的 ping 也會有響應?

  • 如果伺服器沒有提供 404,那麼 404 是從哪裡來的?

  • 為什麼在預設站點關閉時瀏覽到 IP 給我一個 404?

在這一點上,我不知道還有什麼要解決的問題。我越是排除故障並試圖排除問題,水就越渾濁。

我從來沒有想過在全新的伺服器安裝上獲得一個帶有單個 html 頁面的簡單站點會給我帶來這麼多麻煩。

127.168.1.125 是一個環回地址(連同所有 127.0.0.0/8)。此 IP 不在 RFC1918(私有)範圍內;僅 172.16.0.0/12、192.168.0.0/16 和 10.0.0.0/8 應用於此目的。RFC1700 明確禁止 127.0.0.0/8 子網用於不同主機之間的通信。

最有可能的是,您正在與之交談的伺服器實際上就是您正在瀏覽的任何伺服器,儘管情況並非如此。

由於您在拔下網路電纜的情況下進行了測試,我可以看出您正在聯繫的不是您預期的伺服器。您應該重新編號您的測試網路以使用私有範圍以避免混淆,您的麻煩可能會消失。

如果您的環境已經使用了所有可用的 RFC1918 IP 地址,您還可以使用 169.254.0.0/24 和 169.254.255.0/24,它們是保留給靜態編號主機使用的 APIPA(自動配置)範圍(例如,沒有工作站將永遠選擇這些範圍內的數字)。

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