本文提供您收到錯誤「HTTP 錯誤 503」疑難解答問題的相關信息。 服務無法使用。」存取您的雲端服務應用程式時。
原始產品版本:API 管理 服務
原始 KB 編號: 4464854
徵兆
您在瀏覽雲端服務應用程式 URL 時http://cloudservicelabs.cloudapp.net/
收到 HTTP 錯誤 503 回應,不過您的 Web 角色 'SuperConvertor' 處於執行中狀態。 重新啟動或重新映像角色實例無法解決問題。
服務無法使用
HTTP 錯誤 503。 服務無法使用。
疑難排解步驟
當您在應用程式中收到 50 倍的錯誤時,通常表示伺服器端發生中斷。 503 Service Unavailable
伺服器錯誤回應碼表示伺服器尚未準備好處理要求。 您必須思考為什麼突然有新部署的雲端服務應用程式突然開始擲回此錯誤。 應用程式是否當機? 要求是否到達 IIS 伺服器? 伺服器負載過大嗎?
首先,檢查內部部署 IIS 伺服器。 您可以使用 RDP 連線到 Web 角色實例,並在本機瀏覽應用程式。 在本機瀏覽網站之前,請檢查 Application 和 System 事件查看器記錄,以否定 IIS ApplicationPool 當機或任何其他應用程式相關例外狀況的可能性。
接下來,請檢查下方 C:\Resources\directory\{Deployment ID}.SuperConvertor.DiagnosticStore\LogFiles\Web
的 IIS 記錄,以檢查您是否可以取得 HTTP 503 錯誤的詳細資訊,例如子狀態程式代碼、執行要求所花費的時間等等。
如果沒有產生任何記錄,這表示要求完全無法連線到 IIS。 根據 IIS 架構,HTTP.sys接聽來自網路的 HTTP 要求、將要求傳遞至 IIS 進行處理,然後將已處理的回應傳回給用戶端瀏覽器。 根據預設,IIS 會提供HTTP.sys做為接聽 HTTP 和 HTTPS 要求的通訊協定接聽程式,而且HTTP.sys層級的任何錯誤都會記錄在此目錄中 - D:\Windows\System32\LogFiles\HTTPERR
。 因此,讓我們看看可以在 HTTPErr 記錄中找到的內容:
#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Date: 2018-08-13 03:12:38
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri streamid sc-status s-siteid s-reason s-queuename
2018-08-13 03:25:22 293.217.138.127 12052 10.1.2.5 80 HTTP/1.1 GET / - 503 - N/A -
2018-08-13 03:25:22 293.217.138.127 20463 10.1.2.5 80 HTTP/1.1 GET /favicon.ico - 503 - N/A -
如果您看到上述記錄檔,HTTP 503 會從HTTP.sys層級擲回,而且用戶端要求會從該處遭到拒絕,而不會到達 IIS。 現在,我們將從 IIS 本機瀏覽網站,並查看會發生什麼情況 - 您可能會收到錯誤 - 無法顯示此頁面。您可能會注意到 IIS 網站有如下的系結,這表示為了存取此特定網站,您必須透過自定義功能變數名稱存取 (www.cloudservicelabs.com
)
IP 位址 | 連接埠 | 主機標頭 |
---|---|---|
10.1.2.5 | 80 | www.cloudservicelabs.com |
每個客戶端都會使用系結來存取網站。 網站的典型系結格式為IP:Port:HostHeader。 這是一種機制,可告訴伺服器如何連線到此網站。 下一個會想到的問題是,這個自定義主機名來自何處。
ServiceDefinition.csdef 是您可以為 Web 角色設定系結的位置,以下是您的應用程式可能會看到的位置:
<WebRole name="SuperConvertor" vmsize="Standard_D1_v2">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="www.cloudservicelabs.com"/></Bindings>
</Site>
</Sites>
在真實世界的案例中,若要透過自定義主機名存取雲端服務應用程式,您必須為此主機標頭設定 DNS,以對應至雲端服務 VIP。 現在,您可以從 Binding 元素刪除 hostHeader 屬性,並重新部署您的雲端服務解決方案來解決此問題。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。