2013-03-20 158 views
8

我們已經將使用傳統asp編寫的應用程序遷移到Azure網站(共享),並且一些頁面只是出現錯誤「由於發生了內部服務器錯誤,無法顯示頁面」。沒有任何細節。這些頁面可以在IIS 7下或使用IIS Express下正常工作。如何在Azure網站上他們沒有。Azure上的經典ASP網站「由於發生內部服務器錯誤,無法顯示頁面。」

正如我已經配置了在Azure上的網站下面的一些其他職位建議:

1)Web服務器日誌 - ON
2)詳細的錯誤信息 - ON
3)的Web.config - 的customErrors模式關閉。

<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.0"> 

還有日誌消息沒有提供任何更多的細節什麼是錯的,只是提供了以下信息:

詳細錯誤信息:

模塊IsapiModule
通知ExecuteRequestHandler
處理器ASPClassic
錯誤代碼0x00000000

有關如何在Azure網站上調試經典asp頁面問題的任何幫助表示讚賞。謝謝。

+0

您可以設置Windows Azure診斷程序或使用遠程桌面並根據以前的SO文章中引用的解決方案導航到內部IP:http://stackoverflow.com/questions/6324463/how-to-debug-azure -500內部服務器錯誤 – AardVark71 2013-03-21 08:42:44

+0

爲我解決問題[此答案](http://stackoverflow.com/a/43521722/5996253)我希望可以幫助 – 2017-04-20 14:13:24

回答

2
  1. 您的問題可能會在瀏覽器端:請確保IE設置爲「顯示友好的信息」被關閉
    enter image description here

  2. 此外,在服務器端,你必須有一些設置允許的錯誤信息被髮送到客戶端(對不起,我只能訪問該設置的IIS的味道...不知道什麼是在Azure中):
    enter image description here

+1

網站是在「Azure網站」,它不顯示「向瀏覽器發送錯誤」選項。另外對於「Azure網站」,似乎沒有遠程桌面到服務器。所以我不知道如何設置發送錯誤給瀏覽器。我在web.config system.webserver第 – VVee 2013-03-21 10:55:14

+3

部分嘗試了以下方式,但沒有運行:'試試這個:將web.config添加到''部分''。我也會嘗試一個自定義的500.100頁面 - 他們必須被允許! – 2013-03-21 19:08:00

+0

謝謝G. Stoynev! – VVee 2013-03-21 21:10:54

11

謝謝G. Stoynev!它在添加自定義錯誤asp頁面後工作!我使用的代碼從以下鏈接創建自定義錯誤的ASP頁

http://support.microsoft.com/kb/224070

另外下面的鏈接,以及幫助http://www.tacticaltechnique.com/web-development/classic-asp-getlasterror-in-iis7/

現在在我的web.config中的system.webServer部分如下所示:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
    <httpErrors> 
    <remove statusCode="500" subStatusCode="100" /> 
    <error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/errors.asp" responseMode="ExecuteURL" /> 
    </httpErrors> 
    </system.webServer> 
+0

感謝分享這個 – 2013-03-22 00:48:10

7

一(奇數),值得一試,這爲我工作:

嘗試FTP'ing到您的Azure的網站,並重新命名您的web.config到完全不同的東西。

我將其更名爲web.config2 - Azure "The page cannot be displayed because an internal server error has occurred."錯誤消息消失,我的ASP.Net應用程序再次爆發。

從那裏,我重新在web.config從無到有,從我的原始版本中,一片片的拷貝大塊它(看看是什麼原因導致的問題)

是啊,我知道...這是一個愚蠢的建議,但Azure沒有提供有關導致錯誤的提示,即使在日誌記錄打開的情況下,這也保存了我的理智!

+1

恩,謝謝你的建議。我有它的工作,後來診斷出問題是相同的文件:) +1謝謝。 – 2015-02-21 08:53:34

+0

我會再次 - 我今天有類似的問題,事實證明某人或某人已修改了web.config,添加了一個無效的MIME類型擴展,導致所有靜態內容請求失敗。很容易修復,但都植根於網站的錯誤web.config文件。 – 2016-09-14 00:01:45

0

我通過打開Azure Web應用程序配置中的日誌記錄=>診斷日誌下的應用程序日誌來解決此問題。

然後,您可以在「日誌流」窗格中看到錯誤並進行修復。

在我的情況下以下兩行web.config錯誤:

<add name="ExtensionlessUrlHandler-Integrated-4.0" 
path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" 
preCondition="integratedMode,runtimeVersionv4.0"/> 
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 

我刪除它們,一切又恢復了。

0

如果您嘗試將您的站點配置爲無法訪問IIS,例如Azure Web App,則可以在Web.Config中配置經典ASP設置。

<system.webServer> 

你可以把它配置與經典是如何運作的各種事物的

<asp> 

元素。

這影響了我的網站的屬性是

**appAllowDebugging="true"** 

雖然這個屬性是很好,當你使用Visual Studio開發和安裝了剛剛在實時調試花花公子,它攪亂了錯誤經典的Asp處理。

順便說一句,帶我永遠弄清楚我改變了什麼。

相關問題