無法訪問localhost怎么辦? Window解決UWP應用本地回環(huán)限制

關于 Window 的 UWP 應用本地回環(huán)限制以及限制解除方案
1. UWP 應用默認禁止本地回環(huán)
UWP 應用在默認的情況下,禁止訪問本地的 Localhost(這被稱做本地回環(huán) Loopback)。
然而我們在開發(fā)、調(diào)試、正向代理等場景下,又不得不讓 UWP 突破這一個限制。
2. 官方限制解除工具 CheckNetIsolation.exe
這個工具位于 C:/Windows/System32/CheckNetIsolation.exe
,它的功能為解除 UWP 的本地 Loopback 限制或者調(diào)試應用(本文僅介紹解除 Loopback 限制)。
./CheckNetIsolation.exe LoopbackExempt [operation] [-n=] [-p=]
常見用法:
-s
: 查看已經(jīng)取得 Loopback 豁免的應用列表-a -p=[App Container SID] or -a -n=[App Container Name]
: 添加應用豁免-d -p=[App Container SID] or -d -n=[App Container Name]
: 移除應用豁免-c
: 移除所有安裝的應用的豁免
3. 如何獲取所有安裝應用的 SID
在注冊表目錄 HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings
即可取得所有 App 的 SID 列表。
通過結(jié)合 CMD 或者 Pwsh 的循環(huán)命令,即可自動化為所有已安裝應用添加豁免:
CMD 命令:
FOR /F "tokens=11 delims=\" %p IN ('REG QUERY "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p
Powershell 命令:
Get-ChildItem -Path Registry::"HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings\" -name | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -p="$_"}
New Powershell Core:
(Get-AppxPackage -AllUsers).PackageFamilyName | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -n="$_"}
4. 其他便捷工具以及深層次分析
來自 Fiddler 的 Enable Loopback Utility 或開源項目 Loopback Exemption Manager 的這兩個工具提供了很方便的圖形化方式來對安裝的 UWP 應用進行 Loopback 豁免。
深入研究后者工具以及類似工具的源代碼,并參考作者提到的:
我們可以知道,開源工具的作者從 Fiddler 那里借鑒了 P/Invokes 的方式獲取 API,而所 Invoke 的 API 主要來自于 FirewallAPI.dll
,這個 dll 提供了很多與 UWP Loopback 豁免相關的實用方法。
我們繼續(xù)使用 VS2022 的 Dev Shell 對官方的 CheckNetIsolation.exe
進行 dll 依賴分析(需要安裝 VS 2022):
到這里我們便可以得知,無論是官方工具還是第三方工具的實現(xiàn),都是調(diào)用 FirewallAPI.dll
提供的 API 來進行 Loopback 豁免的。
相關文章
電腦怎么鎖屏快捷鍵是什么? Windows和macOS鎖屏快捷鍵大揭秘
日常使用電腦的過程中,為了保護個人隱私和安全,經(jīng)常需要將屏幕進行鎖定,Windows和macOS有什么區(qū)別呢?詳細請看下文介紹2024-07-18電腦怎么看cpu溫度? Windows中查看CPU溫的方法(軟件和硬件)
我們知道cpu是電腦發(fā)熱量最大的硬件之一,cpu溫度過高會直接導致電腦死機或者重新啟動,藍評等現(xiàn)象頻繁發(fā)生,電腦怎么看cpu溫度?詳細請看下文介紹2024-07-05如何輕松查看你的 Windows 版本? 檢查電腦Windows版本號五種方法
很多朋友發(fā)現(xiàn)windows擁有許多版本,比如如家庭版、企業(yè)版、專業(yè)版和教育版等,而每個版本都有相應的版本號,那么,怎么知道電腦windows版本呢?下面分享五種查看方法2024-06-20NTUSER.DAT能刪嗎? 一文講透Windows中的NTUSER.DAT文件
NTUSER.DAT是Windows系統(tǒng)中一個重要的文件,它存儲著當前用戶在Windows系統(tǒng)中的各種配置等信息,NTUSER.DAT能刪除嗎?詳細請看下文介紹2024-06-19windows系統(tǒng)dll文件刪不掉怎么辦? 徹底刪除頑固dll文件的技巧
.dll文件是我們軟件遠行時的必備文件,可有時候在我們把安裝的軟件刪除后不知什么原因?qū)е?dll文件沒有刪掉,且再怎么刪也刪不掉,這里我分享一下只需要一招就能把.dll文件2025-04-22dll文件是什么? Windows系統(tǒng)中的DLL文件詳解
DLL文件,是Windows操作系統(tǒng)的關鍵組件,這篇文章將解釋DLL文件的作用,并為你提供多種解決DLL文件遺失問題的策略2024-05-27Windows Server 2022安裝KB5034129后瀏覽器和應用白屏怎么解決?
B5034129 更新,主要修復了 Wi-Fi 適配器問題,但是安裝后導致 Chrome、Edge 和 Firefox 瀏覽器以及Adobe 等應用白屏,無法顯示內(nèi)容,下面我們就來看看臨時修復技巧2024-01-16- 有很多朋友都被windows系統(tǒng)中各式各樣的亂碼所困惑,特別是收到的一些十分重要的郵件、程序、文件時會遇到亂碼,登,網(wǎng)站時會看到亂碼,下面我們就來看看解決辦法2024-01-09
Win12發(fā)布時間曝光?微軟或?qū)indows進行重大更新
微軟目前或許已經(jīng)準備將于2024年推出為代號Windows 11 24H2或Windows 12的版本,下文為大家?guī)砹嗽敿毥榻B,一起看看吧2023-12-07windows server哪個版本穩(wěn)定? Windows Server各版本差異介紹
Windows Server是微軟為企業(yè)提供的服務器操作系統(tǒng),提供了許多高級的IT功能,例如數(shù)據(jù)存儲、網(wǎng)絡管理、安全性和虛擬化等,在眾多的Windows Server版本中,最好用的版本可能2023-11-29