Я пытаюсь настроить сервер IIS6 с одним веб-сайтом (выделенный IP-адрес) для доступа 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
IIS 6.0 может возвращать ответы HTTP / 0.9, но на самом деле этого не должно быть. У меня есть сильное подозрение, что IIS не отвечает на ваш запрос. (Долгий выстрел, но это лучшее, что я могу придумать.) Беги netstat -a -n -o | find ":443 "
и убедитесь, что PID, возвращаемый для прослушивателя на TCP-порту 443 (крайний правый столбец), соответствует процессу «Система» (PID 4). Если это не так, изучите PID процесса, который был возвращен, чтобы выяснить, что прослушивает порт 443.
Еще одна вещь, на которую стоит обратить внимание, - это журналы IIS. Вы должны увидеть записи, соответствующие вашим попыткам доступа. Если вы этого не сделаете, я бы сказал, что что-то еще мешает.
Установлены ли какие-либо странные фильтры или расширения ISAPI?