43

У меня проблемы с запуском моего сервера Apache, потому что порт 443 уже используется.

Оказывается, системный процесс (PID 4) использует порт 443. У меня не установлен IIS, services.msc показывает (предположительно), что не работает ни сервер Exchange, ни WWW-Services, ни IIS. Я понятия не имею, как выяснить, какой сервис использует этот порт, за исключением простого отключения каждого сервиса один за другим, и я даже не уверен, что это поможет.

Я был бы признателен, если бы кто-то мог указать мне, как я могу вернуть свой порт SSL, спасибо :)

PS: Конечно, "просто переключите apache на другой порт для SSL" решит проблему невозможности запуска apache. Но я все еще хотел бы знать, что так настойчиво связано с портированием порта 443. :)


Редактировать: я уже взял "жесткий маршрут" и отключил службы один за другим. Оказалось, что виновником стал сервис "Маршрутизация и RAS". Спасибо всем за ценный вклад и новые инструменты в борьбе с "WTF делает мою систему сейчас".

16 ответов16

33

Могу поспорить, что это Skype, снимите флажок, показанный ниже, если он у вас установлен.

альтернативный текст

18

Запустите следующее из командной строки с повышенными правами:

netstat -ab
12

У меня была проблема, что порт 443 использовался "системой" с PID 4 на моей машине с Windows 7. Решением для меня было удалить "Входящее соединение" (VPN), существующее в папке сетевых подключений.

Кажется, я создал его и забыл удалить после использования ...

8

Часто это служба агента хоста VMWare (требуется для связи хоста с виртуальной машиной) vmware-hostd.exe

Хороший способ узнать, какой подпроцесс svchost.exe запущен, - использовать sysinternals process explorer.

7

Я столкнулся с аналогичными проблемами при маршрутизации 443 запросов на мой WAS-сервер. Основываясь на рекомендациях в этой теме, это то, что я сделал

  1. из командной строки с повышенными правами netstat -a -n -o | findstr 443
  2. определили pid процесса прослушивания на 443
  3. Используется Process Explorer, чтобы идентифицировать процесс из pid.
  4. В моем случае прослушивание приложения было vmwarehostd.exe
  5. Остановил сервер рабочей станции VMWare из services.msc . Перезапущен сервером WAS

И все 443 запроса поступили к 443 с удовольствием.

PS: я уже удалил скайп, который был встроен с моей windows8. Служба маршрутизации и удаленного доступа была отключена на моей машине

6

Прежде всего, я отвечу на этот вопрос напрямую, и любой, кто его читает, может игнорировать любые ответы о сторонних приложениях сторонних разработчиков, использующих системный процесс.

  1. Системный процесс указан как PID 4 в каждой современной системе Windows. Это для доступа в режиме ядра. Это исключает большинство сторонних веб-продуктов, таких как Apache.

  2. С момента создания WinRM (Windows Remote Management) служба HTTP (% SystemRoot%\system32\drivers\http.sys) была стандартной частью Windows (Vista и более поздние версии / Server 2008 и более поздние версии). http.sys запускается под системным процессом (PID 4).

  3. Другое разработанное Microsoft программное обеспечение может также использовать% SystemRoot%\system32\drivers\http.sys в системном процессе, например IIS, службы отчетов SQL и служба веб-развертывания Microsoft (http://support.microsoft.com/kb/2597817) ...

  4. Порты WinRM 1.0 по умолчанию были:
    HTTP = 80
    HTTPS = 443
    Порты WinRM 2.0 и выше по умолчанию:
    HTTP = 5985
    HTTPS = 5986
    Проверьте с помощью следующих команд:
    Winrm перечисляет winrm / config / listener
    Winrm get http://schemas.microsoft.com/wbem/wsman/1/config

Действия по устранению неполадок:

Получите номер процесса порта, который вы ищете (443 в этом случае):

... с не сопоставленного диска Windows, чтобы избежать "Отказано в доступе":
netstat -aon | найти ":443"
Вывод должен выглядеть следующим образом для процесса System :
C:> netstat -ano | find ":443"
TCP 0.0.0.0:443 0.0.0.0:0 СЛУШАТЬ 4
TCP [::]:443 [::]:0 СЛУШАТЬ 4
Последний столбец - это PID (4).

  1. Запуск списка задач, чтобы узнать, что работает в процессе, оказывается бесполезным:
    список задач /SVC /FI "PID eq 4"
    список задач / м / ф "PID eq 4"

  2. Найдите в реестре службу HTTP: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters\UrlAclInfo
    Там будет список URL-адресов (с номерами портов), которые могут привести вас к тому, какое приложение работает и какие порты удерживают:
    http: // +: 5985 / wsman / -> WinRM
    https: // +: 5986 / wsman / -> WinRM
    http: // +: 80 / Reports / -> Сервер отчетов SQL
    http: // +: 80 / ReportServer / -> Сервер отчетов SQL
    https: // server_fqdn: 443 / Reports / -> Сервер отчетов SQL
    https: // server_fqdn: 443 / ReportsServer / -> Сервер отчетов SQL
    http: // *: 2869 / -> Служба протокола простого обнаружения служб (SSDPSRV)
    http: // *: 5357 / -> Динамическое обнаружение веб-служб (WS-Discovery)
    https: // *: 5358 / -> Динамическое обнаружение веб-служб (WS-Discovery)

Затем вы можете найти соответствующий сервис в системе и остановить его и увидеть, что требуемый порт освобожден, подтвердив с помощью другого netstat -aon | найти команду ":443" .

4

Если это процесс, запущенный службой, netstat -ab не поможет.

В этом случае попробуйте netstat -ao | find /i "443" в командной строке администратора. Это даст вам такой вывод:

    TCP   0.0.0.0:443   your_hostname:0   LISTENING   PID

Затем введите другой список задач командной строки администратора tasklist | find /i "<PID>"

В моем случае PID был 2912, и моя команда была: tasklist | find /i "2912"

Вывод моей команды был:

    vmware-hostd.exe   2912 Services   0   39 856 K

вау, я даже забыл, что установил VMware для проверки работоспособности ...

1

В моем случае был процесс DTC (координатор распределенных транзакций) для использования порта 443. В частности, я активировал WS-AT в DTC, и он использовал порт 443.

В целом, я понимаю, что когда системный процесс (PID 4) использует порт 443/https, это внутренний процесс Windows (в моем случае DTC, но я думаю, что это может быть и другой процесс), если это не веб-сайт IIS, использующий его.

0

В моем случае это был DataManager из F5 Networks, который использует Tomcat 6 для обслуживания своих веб-страниц. Я забыл удалить это приложение. Плохое дизайнерское решение, если вы спросите меня.

0

для меня, после обновления Windows 2016, apache 443 не может начать с обычного события в списке. Я обнаружил, что виновником является служба Windows Sync Share (SyncShareSvc). отключен и может запустить Apache

-1

Использование netstat -ao | find ":443" , я обнаружил, что порт 443 используется PID 4, который был системным процессом. Это случилось со мной дважды на Windows Server 2012, и это было связано с одной из следующих причин:

  1. Служба IIS была включена в список "Служба публикации в Интернете", и я остановился.
  2. Функция рабочих папок установлена, поэтому я удалил ее.

Это может быть не решением для всех, но может помочь некоторым.

-1

Wireshark расскажет вам детали. http://www.wireshark.org/ Или TCP Monitor: http://www.itsamples.com/tcp-monitor.html

Это поможет

-1

Я обнаружил, что при использовании функции VPN в Windows 8 (вероятно, то же самое для Windows 7) используется порт 443.

РЕДАКТИРОВАНИЕ: Кроме того, мой порт снова закрылся PMB.exe (Pando Media Booster)

-1

Если у вас есть какой-либо драйвер Virtual Lan (например, OpenVM, VMWare и т.д.) - убедитесь, что вы «освободили» порт, прежде чем передавать его чему-то другому.

Просто быстрая подсказка;)

-1

Для меня это был агент McAfee EPO, прослушивающий порт 80. Мне пришлось пройти через несколько болезненных обручей, чтобы изменить его. https://kc.mcafee.com/corporate/index?page=content&id=KB67605

-3

У меня была такая же проблема при попытке установить обновление VMware. Я отследил это до скайпа. Новый клиент по умолчанию 443.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .