Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Win7下的IIS 7.5 Prof.64位返回空白页(完全没有HTML)_Windows_Iis - Fatal编程技术网

Windows Win7下的IIS 7.5 Prof.64位返回空白页(完全没有HTML)

Windows Win7下的IIS 7.5 Prof.64位返回空白页(完全没有HTML),windows,iis,Windows,Iis,我试图在Windows7中设置我的开发环境,但在让IIS正常工作时遇到了问题。我把一切都安排好了,就像我从IIS6开始所做的那样,所以我有了基础知识。我的问题一定是在IIS7和IIS7.5之间或在操作系统中发生了变化 我的网站都不会返回html。不是默认站点,也不是新添加的站点 如果我 然后在空白屏幕 GET / <enter> GET/ 我什么也没有得到,没有一个标题或HTML元素 如果输入垃圾而不是GET请求,则会得到以下HTML: HTTP/1.1 400 Bad Requ

我试图在Windows7中设置我的开发环境,但在让IIS正常工作时遇到了问题。我把一切都安排好了,就像我从IIS6开始所做的那样,所以我有了基础知识。我的问题一定是在IIS7和IIS7.5之间或在操作系统中发生了变化

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

如果我

然后在空白屏幕

GET / <enter>
GET/
我什么也没有得到,没有一个标题或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>
HTTP/1.1 400错误请求内容类型:
text/html;charset=us ascii服务器:
微软HTTPAPI/2.0日期:2017年4月17日星期四
2009年9月17:04:01格林尼治标准时间连接:
结束内容长度:326
坏的
要求
错误的请求-无效
动词HTTP错误400。这个
请求动词无效

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

在我的IIS日志路径中,我根本没有文件。所以不管出于什么原因,日志都没有被写入

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

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

我的AppPool正在以ApplicationPoolIdentity运行,它似乎不是真正的用户,因此我无法授予ApplicationPoolIdentity文件权限。我做了一个测试,让IIS_IUSR和我能找到的其他人完全访问路径

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

有什么想法吗?我已尝试完全删除IIS、c:\inetpub,然后重新安装所有内容。我基本上是在这里做默认设置,所以它一定很简单


谢谢你抽出时间…

我解决了。对于其他有这个问题的人,以下是我所做的

首先复制这个问题:我是通过在“添加/删除Windows功能”菜单中选择“ASP.NET”来安装IIS的。这是在选择IIS运行.NET应用程序所需的一切,但有趣的是,它不能提供静态页面(.html、css、js等)。我的测试页面只是一个helloworld.html页面,所以它没有被提供

要解决此问题:要启用静态内容的服务,必须在同一添加/删除Windows功能列表中的公共HTTP功能下特别选择“静态内容”。一旦你这样做了,我的测试页面工作得很好

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


我确信有一种方法可以跟踪请求流以发现静态内容请求被阻止,但我不知道如何做到这一点。

Matt Cofer的解决方案是正确的:为了查看静态内容,您必须在初始安装期间安装了静态内容功能。但是,我发现添加/删除功能并不适合我:它只显示了功能的子集,与IIS无关

所以。。。下面是安装静态内容的另一种方法:

  • 打开服务器管理器
    • 开始菜单>在搜索字段中键入“服务器管理器>单击结果链接
  • 展开角色节点
  • 右键单击Web服务器(IIS)节点以查看上下文菜单
  • 从关联菜单中选择添加角色服务
  • 当“添加角色服务”窗口打开时,导航到
    Web服务器>通用HTTP功能
  • 启用静态内容
  • 单击下一步

  • 很好的信息,只是遇到了相同的问题,这解决了它:-)Windows 2008 R2上的FWIW我得到了稍微不同的症状:它将返回一个有效的HTTP头,HTTP 200 OK,内容长度为0。启用静态内容修复了它。@Matt Awesome信息在这里。虽然这会让人头疼:)我知道这很老了,但又竖起了大拇指。这也帮我解决了问题。:)为了接收错误页面,我还需要添加HTTP错误代码。。这太愚蠢了PWindows 7 Professional不随服务器管理器一起提供。对于Win 7 Pro,您需要使用“控制面板>程序和功能”中的“打开或关闭Windows功能”。
    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>