Windows 10 имеет сервер на порту 80

Windows 10 имеет сервер на порту 80

Как уже несколько раз спрашивали, я хочу запустить что-то на порту 80 на моем ПК, но обнаружил, что в Windows 10 этот порт открыт по умолчанию.

Согласно одному из ответов в этой теме:

https://stackoverflow.com/questions/30758894/apache-server-xampp-doesnt-run-on-windows-10-port-80/31229606#31229606

Я могу временно остановить его с помощью net stop http /y. Однако есть несколько системных служб, которые зависят от него:

The following services are dependent on the HTTP Service service.
Stopping the HTTP Service service will also stop these services.

   Windows Remote Management (WS-Management)
   SSDP Discovery
   Print Spooler
   BranchCache

Во-первых, приведет ли отключение любой из этих служб к серьезным проблемам?

Если я просто останавливаю службу HTTP с помощью net stopкоманды, то она перезапускается через несколько секунд сама по себе, и обычно, BranchCacheа иногда и SSDP Discoveryперезапускается, что, предположительно, и является причиной повторной активации службы HTTP.

Кажется удивительным, что поисковые запросы Google не выдают больше информации по этой теме. Я бы подумал, что Windows 10 запускает множество приложений на порту 80 без явного запроса, и это должно было бы заметить и вызвать жалобы!

решение1

Серьёзно переработан после выполнения домашней работы по зависимостям http-сервиса. 8^P

Должно быть нетвредпри отключении ЛЮБОЙ из этих служб... в худшем случае, если что-то перестанет работать, вы сможете включить все это снова.

Вы, вероятно, не хотитеУдаленное управление Windowsработает, если только вы каким-то образом не находитесь на работе и ваш айтишник этого не требует. ТОЧКА.

Печать не будет работать бездиспетчер очереди печатикоторый по какой-то причине Microsoft привязала к HTTP-печати, хотя я никогда не встречал никого, кто бы ее использовал.

UPnP не будет работать безSSDP-открытие.. Лично я не использую UPnP, но вы можете. Зачем ему нужен порт 80 — это другой вопрос...

Вы можете прочитать оBranchCacheв гугле,но я сомневаюсь, что тебе это нужно. Я также читал, что можно освободить много места, но вам следует прочитать об этом и принять решение самостоятельно.

Если вы отключите службу BranchCache, я бы сначала сделал следующее. На самом деле, следующее может отключить службу ДЛЯ ВАС. Не знаю, не пробовал.

Далее предполагается, что вы запускаете Powershell.exe от имени администратора:

  • Чтобы включить BranchCache, введите: Enable-WSSBranchCache.
  • Чтобы отключить BranchCache, введите: Disable-WSSBranchCache.

Удачи. Надеюсь, это поможет.

решение2

Следующая идея не проверена, но может помочь вам добиться желаемого:

Вместо остановки http.sys, которая даже не является системной службой, а скорее драйвером, вы можете указать http.sysпривязку к определенному порту, освободив порт 80.

Здесь вы можете воспользоваться тем фактом, что ваш компьютер имеет как адрес IPv4, так и адрес IPv6, привязавшись http.sysк общему адресу IPv6 ( ::) и тем самым освободив локальный общий адрес IPv4 ( 127.0.0.1).

Для привязки http.sysк общему адресу IPv6 выполните следующую команду из командной строки с повышенными привилегиями:

netsh http add iplisten ipaddress=::

Поскольку localhostпривязывается к адресу IPv6, на самом деле ::1, вы все равно можете получить доступ к http.sysприложениям и службам через http://localhost. Любое приложение, которое вы устанавливаете на порт 80, теперь должно быть доступно по адресу http://127.0.0.1. Или вы даже можете добавить в C:\Windows\System32\drivers\etc\hostsфайл строку:

127.0.0.1 local

Это вам понадобится localhostдля вашего приложения IPv4.http.syslocal

Связанный контент