Win7教授64位返回空白页面下的IIS 7.5(完全没有HTML)

Mat*_*fer 40 windows iis

我正在尝试在Windows7中设置我的开发环境,并且无法让IIS运行.我已经设置了自IIS6以来我一直在做的所有事情,所以我有了基础知识.我的问题必须是IIS7和IIS7.5之间或操作系统中发生变化的问题.

我的网站都不会返回HTML.不是默认站点,也不是新添加的站点.

如果我

telnet localhost 80
Run Code Online (Sandbox Code Playgroud)

然后在空白屏幕上

GET / <enter>
Run Code Online (Sandbox Code Playgroud)

我什么都没得到,没有一个标题或HTML元素.

如果我输入垃圾而不是GET请求,我会得到以下HTML:

HTTP/1.1 400 Bad Request Content-Type:
text/html; charset=us-ascii Server:
Microsoft-HTTPAPI/2.0 Date: Thu, 17
Sep 2009 17:04:01 GMT Connection:
close Content-Length: 326

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>Bad
 Request</TITLE> <META
 HTTP-EQUIV="Content-Type"
 Content="text/html;
 charset=us-ascii"></HEAD>
 <BODY><h2>Bad Request - Invalid
 Verb</h2> <hr><p>HTTP Error 400. The
 request verb is invalid.</p>
 </BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

因此,证明IIS存在并处理端口80上的请求.

在我的IIS日志路径中,我根本没有文件.因此无论出于何种原因,都没有写入日志.

如果我在IIS管理器中查看网站上的基本设置,然后单击测试连接按钮我收到与权限相关的错误:

服务器配置为使用内置帐户的传递身份验证来访问指定的物理路径.但是,IIS管理器无法验证内置帐户是否具有访问权限.确保应用程序池标识具有对物理路径的读访问权限.如果此服务器已加入域,并且应用程序池标识为NetworkService或LocalSystem,请验证\ $是否具有对物理路径的读取权限.然后再次测试这些设置.

我的AppPool作为ApplicationPoolIdentity运行,它似乎不是真正的用户,所以我不能给予ApplicationPoolIdentity文件权限.我做了一个测试给IIS_IUSR和其他人我可以找到完全访问路径.

无论我到目前为止做了什么,我都没有看到IIS说权限是正确的.但是,我也从未见过错误,特别是没有权限错误(300s).

那么,有什么想法吗?我试图完全删除IIS,c:\ inetpub,然后重新安装所有内容.我基本上在这里做默认设置,所以它必须是简单的.

谢谢你的时间...

Mat*_*fer 86

我解决了 对于其他有问题的人来说,这就是我所做的.

首先复制问题:我在添加/删除Windows功能菜单中选择"ASP.NET"来安装IIS.这是选择IIS运行.NET应用程序所需的一切,但有趣的是它无法提供静态页面(.html,css,js等)我的测试页面只是一个hello world .html页面,所以这就是为什么它不是没服务.

要解决这个问题:要启用的静态内容服务,你必须专门选择在同添加"静态内容"下常见HTTP功能/删除Windows功能列表.一旦你这样做我的测试页面工作正常.

总结:我不明白典型的.NET如何在没有静态内容(CSS,图像,Javascript)的情况下运行,因此我不知道为什么MS在选择ASP.NET时默认不包含静态内容.也许我安装IIS的工作流程是错误的.

我确定有一种方法可以跟踪请求的流程,发现静态内容请求被阻止,但我不知道该怎么做.

  • Windows 2008 R2上的FWIW我的症状略有不同:它会返回一个有效的HTTP标头,其中包含HTTP 200 OK和内容长度为0.但启用静态内容会修复它. (2认同)

小智 7

Matt Cofer的解决方案是正确的:为了查看静态内容,您必须在初始安装期间安装静态内容功能.但是,我发现添加/删除功能对我不起作用:它只显示了一部分功能,与IIS无关.

所以......这是安装静态内容的另一种方法:

  1. Open Server Manager
    • Start Menu > type "server manager" in search field > click resulting link
  2. 展开" 角色"节点
  3. 右键单击" Web服务器(IIS)"节点以查看上下文菜单
  4. 从上下文菜单中选择" 添加角色服务 "
  5. " 添加角色服务"窗口打开后,导航到Web Server > Common HTTP Features
  6. 启用静态内容
  7. 单击下一步