Azure项目中的静态文件的IIS错误500.19

Veg*_*sen 9 iis azure

我有一个带有单个webrole的Azure项目,我试图在升级到Windows 8和Visual Studio 2012后正常运行.

问题在于任何静态内容,它会返回HTTP 500内部服务器错误,并显示以下文本:"由于发生了内部服务器错误,因此无法显示页面." 任何静态内容(图像和javascript)都会显示此错误,而动态内容可以正常运行(所有控制器操作都可以正常工作).

我们无法让IIS提供详细的错误消息.我们可以找到错误的唯一参考是访问日志,它将其显示为500子类型19错误.

我们尝试在IIS和IISExpress之间切换,发生同样的错误.我们已经尝试将所有"显示详细错误消息"选项添加到我们的web.config和IIS管理器中.HTTP和HTTPS端点上都发生相同的错误.

我的下一步应该是什么?

Veg*_*sen 11

罪魁祸首已被发现.通过比较默认值web.config我们在web.config我们的发现中web.config:

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

IIS8支持内置的WOFF,而IIS 7则没有.简单地将这一行移到变换中就解决了这个问题.


boj*_*ngo 5

我很久以前就遇到过这个问题,而Vegard Larsen的回答非常好.但是,我已经升级到osFamily 3(Windows Server 2012)并发现在部署到Azure时我再次遇到子类型19的500错误.修复是在转换中使用以下内容.

<system.webServer>
  <staticContent xdt:Transform="Insert">
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
  </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

重要的是删除任何现有的.woff配置.这样你就可以确定它适用于任何IIS平台/配置.