IIS 6 对 HTTPS 请求的响应为空

IIS 6 对 HTTPS 请求的响应为空

我正在尝试设置一个具有一个网站(专用 IP)的 IIS6 服务器,以便使用自签名证书进行 HTTPS 访问。

任何通过 HTTPS 的请求都会导致空(零大小)响应,并出现这种有点奇怪的状态

HTTP/0.9 200 OK

请求格式没有什么奇怪的,只是来自浏览器的常规请求(本例中为 Firefox)

GET https://server-name/ HTTP/1.1
Host: server-name
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive

客户端和服务器之间没有代理。

HTTP 请求按预期工作。

安装 CA 证书时出现了一点小问题(管理员将其安装到错误的帐户),但已修复。

我已经通过 SSLDiag 运行了一切,结果一切顺利。

我不是 Windows 管理员(专业开发人员),并且这里的管理员对 IIS 或证书流程也不太熟悉,并且和我一样感到困惑。

以下是 IIS 日志摘录,显示 IIS 确实看到了请求

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2011-08-16 01:21:31
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status 
2011-08-16 01:21:31 10.40.149.87 GET / - 443 - 10.40.109.22 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322;+InfoPath.1;+InfoPath.3;+.NET4.0C;+.NET4.0E;+.NET+CLR+2.0.50727) 200 0 2
2011-08-16 01:22:54 10.40.149.87 GET / - 443 - 10.40.109.22 Fiddler 200 0 2

答案1

IIS 6.0 可以返回 HTTP/0.9 响应,但实际上不应该这样。我强烈怀疑 IIS 不是响应您请求的程序。(可能性很小,但这是我能想到的最好的办法。)运行netstat -a -n -o | find ":443 "并验证 TCP 端口 443 上的侦听器返回的 PID(最右侧列)是否对应于“系统”进程(PID 4)。如果不是,请调查返回的进程的 PID,以找出正在侦听端口 443 的程序。

另一个要查看的是 IIS 日志。您应该会看到与您尝试的访问相对应的条目。如果没有,那么我会说有其他东西在阻碍您。

是否安装了任何奇怪的 ISAPI 过滤器或扩展?

相关内容