2010-12-11 76 views
5

我已經在裝有Windows Server 2008 R2的環境中安裝了SP 2010。我一直在使用VS 2010開發SP 2010的應用程序頁面。HTTP 500內部錯誤 - IIS網站

我利用wsp builder將所有的dll,頁面,腳本和圖像打包到解決方案包中並將其部署到Web應用程序中。

一切都像一個魅力工作。我開始忍受激烈的時間,突然間我的web應用程序開始彈出'HTTP 500內部服務器錯誤'。這發生在我對應用程序頁面進行了大幅度更改並部署之後。

我試着創建新的web應用程序,但它沒有對我做任何好處。任何關於什麼可能是這個問題的根源的見解?

問候, Raghuraman.V

回答

7

要解決,你應該先指示IIS顯示詳細的錯誤信息,而不是僅僅 「500」。

調整你的web.config文件,並設置custom errors爲關:

<customErrors mode="Off" /> 

(區分大小寫)。

此外,如果您使用的是Internet Explorer,請關閉高級選項「顯示友好的錯誤消息」。

+1

@上面感謝您的回覆....我已經設置自定義錯誤關閉。除此之外,如果我關閉了「顯示友好的錯誤消息」,我會得到一個空白的屏幕,它再次沒用。 – Raghu 2010-12-11 09:51:03

+0

也許它有助於直接用Web服務器本身的瀏覽器請求URL。另外,檢查Web服務器的事件日誌,也應該在那裏記錄錯誤。 – 2010-12-11 09:52:30

+1

我檢出了Windows事件查看器以及iis日誌。我懷疑它與我們的域控制器有關。我隱瞞了事件查看器,只是爲了找到這個錯誤「這臺工作站和主域之間的信任關係失敗。」由於域控制器問題,是否有可能對頁面的請求失敗? – Raghu 2010-12-11 10:27:59

10

通過編輯Web.config和applicationhost.config來解決此問題。 C:\ Users \\ Documents \ IISExpress \ config或右鍵單擊托盤上的IIS Express圖標並查看所有應用程序,然後單擊所需的網站,然後單擊配置文件鏈接。

註釋掉

<error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> 

設置父節點<httpErrors errorMode="DetailedLocalOnly"

設置httpErrors爲允許

<section name="httpErrors" overrideModeDefault="Allow" /> 

更改Web項目的web.config HttpErrors

<httpErrors errorMode="Custom" existingResponse="Auto"> 

這應該修復它,它基本上說「我不希望IIS Express覆蓋我的網站的配置」。

+0

發表評論刪除HTML,請參閱下面應該在帖子中。 註釋掉 錯誤的StatusCode = 「500」 prefixLanguageFilePath = 「%IIS_BIN%\ custerr」 路徑= 「500.htm」 設置父節點到httpErrors errorMode = 「DetailedLocalOnly」 設置httpErrors爲允許 段名= 「httpErrors」overrideModeDefault =「允許」 更改您的web項目web.config HttpErrors httpErrors errorMode =「Custom」existingResponse =「Auto」 – 2012-02-16 12:30:50

+0

您只需要使用代碼塊選項格式化答案,我已修復您的答案現在爲你。 – Skuld 2012-02-16 13:19:52

+3

謝謝,這是我的第一篇文章:-) – 2012-02-16 14:21:16

2

助人,這裏有一個指南,幫助我找到什麼毛病我的設置(學分裏克理髮師): Working past 500

  1. 負荷位於同一臺服務器上的瀏覽器網站。在IE中,您可能需要關閉
  2. 暫時添加以下相應的標籤內的web.config文件「顯示友好HTTP錯誤。」:

    <configuration> 
        <system.webServer> 
         <httpErrors errorMode="Detailed" /> 
        </system.webServer> 
        <system.web> 
         <customErrors mode="Off" /> 
         <compilation debug="true" /> 
        </system.web> 
    </configuration> 
    
  3. 打開IIS管理器,然後嘗試打開通過雙擊圖標來增加一些不同的功能。如果網絡出現錯誤。配置文件,它甚至不能解析它,有時你會得到一個有用的錯誤。

  4. 請看Windows Event Viewer。有時你可以找到那裏記錄的詳細錯誤,特別是應用程序事件查看器。
  5. Setup Failed Request Tracing。如果是間歇性500錯誤,這特別有用。
  6. Look through the web log files。這對間歇性500錯誤特別有用。您通常可以解析日誌文件以查看是否存在引發500錯誤的特定頁面的趨勢。