Como es algo que me han preguntado varias veces, quiero ejecutar algo en el puerto 80 de mi PC, pero descubrí que Windows 10 lo tiene abierto de forma predeterminada.
Según una de las respuestas en este hilo:
Puedo detenerlo temporalmente net stop http /y
. Sin embargo, existen varios servicios del sistema que dependen de ello:
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
En primer lugar, ¿deshabilitar alguno de estos servicios causará problemas importantes?
Si simplemente detengo el servicio HTTP con el net stop
comando, se reinicia solo unos segundos más tarde y, por lo general BranchCache
y a veces, SSDP Discovery
se reinicia, que es presumiblemente lo que está reactivando el servicio HTTP.
Parece sorprendente que las búsquedas en Google no aparezcan más sobre esto: habría pensado que Windows 10 ejecutando muchas cosas en el puerto 80 sin que se solicite explícitamente es algo que la gente habría notado y de lo que se habría quejado.
Respuesta1
Seriamente reeditado después de hacer mi tarea sobre las dependencias del servicio http. 8^P
no debería serdañaral deshabilitar CUALQUIER de esos servicios... el peor de los casos es que si algo deja de funcionar, puedes volver a activarlo todo.
Probablemente no quierasGestión remota de Windowsfuncionando a menos que de alguna manera esté en el trabajo y su encargado de TI lo exija. PERÍODO.
La impresión no funcionará sin elcola de impresiónque por alguna razón Microsoft ha vinculado a la impresión HTTP aunque nunca he conocido a nadie que la use.
UPnP no funcionará sinDescubrimiento de SSDP.. Yo personalmente no uso UPnP, pero tú podrías hacerlo. Por qué necesita el puerto 80 es otra cuestión...
Puedes leer sobrecaché de ramaen google,pero dudo que lo necesites. También leí que es posible recuperar mucho espacio, pero debes leer sobre ello y tomar esa decisión tú mismo.
Si desactiva el servicio BranchCache, primero haría lo siguiente. De hecho, lo siguiente podría desactivar el servicio PARA USTED. No sé, no lo intenté.
Lo siguiente supone que ejecuta Powershell.exe como administrador:
- Para activar BranchCache, ingrese: Enable-WSSBranchCache.
- Para desactivar BranchCache, ingrese: Disable-WSSBranchCache.
Buena suerte. Espero que ayude.
Respuesta2
La siguiente idea no ha sido probada, pero puede lograr lo que usted intenta lograr:
En lugar de detener http.sys
, que ni siquiera es un servicio del sistema sino más bien un controlador, podría indicarle http.sys
que se vincule a un puerto específico, liberando el puerto 80.
Puede utilizar aquí el hecho de que su computadora tiene una dirección IPv4 y una dirección IPv6, vinculándose http.sys
a la dirección general IPv6 ( ::
) y liberando así la dirección IPv4 general local ( 127.0.0.1
).
Para vincularse http.sys
a la dirección general IPv6 se realiza ejecutando el siguiente comando desde un símbolo del sistema elevado:
netsh http add iplisten ipaddress=::
Como localhost
se vincula a la dirección IPv6, en realidad ::1
, aún puede acceder a las http.sys
aplicaciones y servicios a través de http://localhost
. Cualquier aplicación que instale en el puerto 80 ahora debería estar disponible en http://127.0.0.1
. O incluso podrías agregar al C:\Windows\System32\drivers\etc\hosts
archivo la línea:
127.0.0.1 local
Esto lo tendrás localhost
por http.sys
y local
para tu aplicación IPv4.