【问题标题】:Why does IIS return empty responses?为什么 IIS 返回空响应?
【发布时间】:2015-08-25 08:09:11
【问题描述】:

我刚刚使用 文件系统发布 将 AngularJS/WebAPI 项目发布到本地 IIS 应用程序,我可以在浏览器中打开该网站。不幸的是,无法加载图像、css 等资源。当我尝试访问位于子文件夹中的任何文件时,我仍然从服务器收到 HTTP 200,但正文为空。我记得几年前我遇到过这个问题,但我不记得为什么会这样。

请求

GET http://localhost/Content/images/common/logotype.png HTTP/1.1
Host: XX.XXX.XX.XXX
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,sv;q=0.6

回应

HTTP/1.1 200 OK
Server: Microsoft-IIS/8.5
X-Powered-By: ASP.NET
Date: Tue, 25 Aug 2015 07:56:12 GMT
Content-Length: 0

如您所见,根本没有正文,但图像存在于文件夹中,我可以从文件系统中打开它。我猜如果这是一个权限问题,服务器会返回 403 或类似的错误,而不是 200 OK?

【问题讨论】:

  • 或许可以尝试将image/png 添加到您的Accept 标头中,看看您是否能恢复内容?
  • 是SPA吗?如果是 - 你能显示你的 webconfig 吗?
  • 是的,我想这是一个有角度的 SPA,但出于隐私原因,我无法提供整个 web.config。也许我可以提供一个感兴趣的特定部分?
  • 你能检查一下本地文件夹的权限吗?运行应用程序池的用户需要对包含图像的文件夹具有权限
  • 您启用了哪些 IIS 功能?

标签: c# http iis asp.net-web-api


【解决方案1】:

护脸

事实证明,Lex Li:s 的评论把我引向了正确的方向。我完全错过了在 IIS“通用 HTTP 功能”中包含“静态内容”功能。

【讨论】:

  • 哇。只是有同样的问题。这不是你看到的,因为你知道......“常见的 http 功能”......
猜你喜欢
  • 1970-01-01
  • 2022-01-03
  • 2021-11-30
  • 2019-10-31
  • 2020-06-15
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 1970-01-01
相关资源
最近更新 更多