正如已经问过几次的问题,我想在我的 PC 上的端口 80 上运行一些东西,但发现 Windows 10 默认打开它。
根据此线程上的一个答案:
我可以暂时停止它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 服务的原因。
令人惊讶的是,谷歌搜索并没有更多地出现在这方面——我原以为 Windows 10 在没有明确要求的情况下在端口 80 上运行了很多东西,这是人们会注意到并抱怨的事情!
在完成我对 http 服务依赖性的作业后,认真地重新编辑。 8^P
禁用任何这些服务应该没有害处。最坏的情况是,如果某些东西停止工作,您可以将其全部重新打开。
您可能不希望Windows Remote Management运行,除非您在工作并且您的 IT 人员需要它。时期。
没有打印后台处理程序,打印将无法工作,出于某种原因,微软已将其与 HTTP 打印联系在一起,尽管我从未见过使用它的人。
如果没有SSDP Discovery , UPnP 将无法工作。我个人不使用 UPnP,但你可能会。为什么它需要端口 80 是另一个问题......
您可以在 google中阅读有关BranchCache的信息,但我怀疑您是否需要它。我还读到你可以回收很多空间,但你应该阅读它并自己做出决定。
如果您禁用 BranchCache 服务,我会先执行以下操作。事实上,以下可能会为您禁用该服务。不知道,没试过。
以下假设您以管理员身份运行 Powershell.exe:
祝你好运。我希望它有所帮助。
以下想法未经测试,但可能会实现您想要实现的目标:
而不是 stopping
http.sys
,它甚至不是系统服务而是驱动程序,您可以改为告诉http.sys
绑定到特定端口,释放端口 80。您可以在此处使用您的计算机同时具有 IPv4 和 IPv6 地址的事实,绑定
http.sys
到 IPv6 通用地址 (::
),从而释放本地通用 IPv4 地址 (127.0.0.1
)。要绑定
http.sys
到 IPv6 通用地址,可以通过从提升的命令提示符运行以下命令来完成:由于
localhost
绑定到 IPv6 地址,实际上::1
,您仍然可以http.sys
通过http://localhost
. 您在端口 80 上安装的任何应用程序现在都应该可以在http://127.0.0.1
. 或者您甚至可以将以下行添加到C:\Windows\System32\drivers\etc\hosts
文件中:您将拥有并
localhost
用于您的 IPv4 应用程序。http.sys
local