正如多次被問到的那樣,我想在我的電腦上的連接埠 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 服務的原因。
令人驚訝的是,Google搜尋沒有出現更多關於此的資訊 - 我以為 Windows 10 在連接埠 80 上運行很多東西而沒有明確要求,人們會注意到並抱怨!
答案1
在對http服務的依賴關係做了功課後,認真重新編輯。 8^P
應該沒有傷害禁用任何這些服務..最糟糕的情況是,如果某些服務停止工作,您可以將其全部重新打開。
你可能不想要Windows遠端管理除非您在工作並且您的 IT 人員要求您這樣做。時期。
如果沒有,列印將無法進行列印後台處理程序由於某種原因,微軟已經將其與 HTTP 列印聯繫起來,儘管我從未見過使用它的人。
沒有 UPnP 就無法運作SSDP發現.. 我個人不使用 UPnP,但你可能會。為什麼它需要連接埠 80 是另一個問題...
您可以閱讀有關分支緩存在谷歌中,但我懷疑你需要它。我還讀到,您可以回收大量空間,但您應該閱讀相關內容並自行做出決定。
如果停用 BranchCache 服務,我將首先執行以下操作。事實上,以下操作可能會為您停用該服務。不知道,沒試過。
以下假設您以管理員身分執行 Powershell.exe:
- 若要開啟 BranchCache,請輸入:Enable-WSSBranchCache。
- 若要關閉 BranchCache,請輸入:Disable-WSSBranchCache。
祝你好運。我希望它有幫助。
答案2
以下想法未經測試,但可能會實現您想要實現的目標:
您可以告訴綁定到特定端口,釋放端口 80,而不是停止http.sys
(它甚至不是系統服務而是驅動程式) 。http.sys
您可以在這裡利用這樣一個事實:您的電腦同時具有 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.sys
提供此資訊。local