2010-12-11 74 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错误的特定页面的趋势。