Event ID 1021 IIS WAS: сбой канала прослушивания HTTP — решение
Симптомы ошибки канала прослушивания (Event ID 1021)
В журнале System регистрируется ошибка: Event ID 1021: A listener channel for protocol 'http' in worker process serving application pool '[Имя_пула]' reported a listener channel failure. Драйвер режима ядра HTTP.sys не может передать входящий трафик рабочему процессу пула.
| Симптом | Последствия |
|---|---|
| Сайт зависает на этапе установки TCP-соединения | Браузер бесконечно пытается подключиться или выдает ошибку ERR_CONNECTION_RESET |
| Отказ привязки портов (Bindings) | Конфликт между привязками сайтов в IIS и сторонними приложениями |
| Ошибки в журнале HTTP.sys (httperr.log) | Записи со статусом Connection_Dropped или Timer_EntityBody |
Пошаговое устранение сбоя канала прослушивания (Event ID 1021)
- Проверьте занятость портов 80 и 443 сторонними процессами:
# Поиск процессов, слушающих порт 80 или 443 кроме системного PID 4 (System):
Get-NetTCPConnection -LocalPort 80, 443 | Select-Object LocalAddress, LocalPort, OwningProcess, @{N="ProcessName";E={(Get-Process -Id $_.OwningProcess).ProcessName}}- Проверьте список зарегистрированных URL в драйвере HTTP.sys:
# Просмотр всех зарегистрированных ACL URL-адресов:
netsh http show urlacl
# Просмотр активных очередей запросов HTTP.sys:
netsh http show servicestate- Очистите дублирующиеся привязки SSL/TLS сертификатов:
# Просмотр привязок SSL сертификатов:
netsh http show sslcert
# Удаление некорректной привязки по IP/порту (если сертификат был удален):
netsh http delete sslcert ipport=0.0.0.0:443- Перезапустите стек HTTP.sys и службы IIS:
# Полный перезапуск веб-сервера и очереди HTTP.sys:
net stop was /y
net start w3svcСовет: Проверьте журнал ошибок ядра HTTP по пути C:\Windows\System32\LogFiles\HTTPERR\httperr*.log — он содержит точные коды причин сброса входящих запросов.
Частые вопросы (FAQ)
Что такое HTTP.sys?
HTTP.sys — это драйвер режима ядра Windows, который перехватывает все входящие HTTP/HTTPS запросы, выполняет первоначальную обработку SSL и маршрутизирует их в нужный пул IIS.
Почему служба Skype или VMware Workstation вызывает сбой HTTP listener?
Некоторые программы по умолчанию пытаются занять порты 80 и 443, конфликтуя с привязками сайтов IIS.
Как перерегистрировать привязку URL ACL в netsh?
Удалите старую запись: netsh http delete urlacl url=http://+:80/ и добавьте новую: netsh http add urlacl url=http://+:80/ user="NT AUTHORITY\NETWORK SERVICE".
В чем разница между Event ID 1021 и Event ID 1026?
Event 1021 чаще связан со сбоем транспорта HTTP/HTTPS на уровне сокетов, а Event 1026 указывает на внутренний сбой протокольного обработчика в коде .NET.