我一直收到针对静态内容请求的HTTP 500错误,特别是.css
和.js
。我开始监视HTTP请求,并在请求text/html
或css
时看到服务器正在返回js
。
我正在运行IIS 7.0,.NET 4.0和Windows Server 2008。
IIS中的所有MIME
设置都是正确的。处理程序映射看起来也正确:
Name = Static File
Path = *
State = Enabled
Path Type = File or Folder
Handler = StaticFileModule,DefaultDocumentModule,DirectoryListingModule
Entry Type = Inherited
此外,我已确认StaticFileModule
位于模块中,并检查static.dll
中是否存在c:\windows\system32\inetsrv\static.dll
。
我能够提出的唯一解决方法是对我的网站web.config
进行硬编码:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="javascript" verb="*" path="*.js" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
<add name="css" verb="*" path="*.css" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
<add name="png" verb="*" path="*.png" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
<add name="bmp" verb="*" path="*.bmp" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
<add name="gif" verb="*" path="*.gif" type="System.Web.StaticFileHandler" preCondition="integratedMode" />
</handlers>
....
</system.webServer>
然而,它应该在没有这个的情况下工作......它在过去已有,而且目前在其他环境中也有效。
答案 0 :(得分:0)
解决方案是运行应用程序池的Windows帐户需要添加到Impersonate a client after authentication
本地安全策略中。