In den letzten zwei Tagen hat mich das Proxy-System von Windows wieder einmal „unterrichtet“. Das offensichtliche Symptom war:
- Chrome kommt normal ins Internet
- In der Kommandozeile komme ich auch auf die meisten Websites
- Der Microsoft Store sagt mir aber todsernst: Du bist nicht online
Am Ende war die Wahrheit: Nicht „kein Internet“, sondern „ein anderer Netzwerk-Stack“.
Erst das Fazit (für Eilige)
Unter Windows gibt es in der Praxis mindestens drei gängige Proxy-Einstiegspunkte:
WinINet: Viele Desktop-Apps, Browser, UWP-Frontends lesen das (mit „Systemproxy“ ist meist dieses gemeint)WinHTTP: Viele Systemdienste/Background-Komponenten laufen darüber (dienetsh winhttp show proxy-Schiene)- Proxy per Umgebungsvariablen:
HTTP_PROXY/HTTPS_PROXY/NO_PROXY, hauptsächlich für CLI-Tools
Wenn du in Clash auf „Systemproxy“ klickst, änderst du in der Regel WinINet, nicht zwingend WinHTTP.
Mein Fall: Warum „Store offline, Browser online“
Meine damalige Konfiguration:
- WinINet =
127.0.0.1:7890(lokaler mihomo-Proxy) - WinHTTP =
DIRECT - Clash TUN an
Verhalten:
- Chrome nutzt WinINet, kann über den Proxy, sieht daher „Netzwerk ist ok“ aus
- Microsoft Store (UWP/AppContainer) wirft den Netzwerkfehler
0x80072EFD(CannotConnect)
Der Knackpunkt ist hier:
UWP darf standardmäßig nicht auf die lokale Loopback-Adresse zugreifen (
127.0.0.1/localhost).
Wenn der Store also versucht, deinen lokalen Proxy-Port zu erreichen, wird das eventuell direkt von den Sandbox-Regeln geblockt. Nicht weil er das Internet nicht erreicht, sondern weil er zuerst gar nicht bis zum „Proxy-Eingang“ kommt.
Warum kann selbst „China-Store geht direkt“ trotzdem scheitern?
Viele sagen: storeedge.microsoft.com ist in China (Festland) ohnehin direkt erreichbar. Das stimmt, ist aber unvollständig.
Denn die Kette ist:
UWP-App -> lokaler Proxy(127.0.0.1:7890) -> Regelbasiertes Routing(DIRECT/PROXY) -> Zielseite
Wenn schon der erste Hop (UWP zur lokalen Loopback) geblockt wird, bekommt „eigentlich DIRECT“ gar keine Chance, überhaupt stattzufinden.
Die Aktion, die es diesmal wirklich gefixt hat
Ich habe weder den globalen Proxy abgeschaltet noch WinHTTP umgestellt noch bestehende abhängige Dienste angefasst—ich habe nur die minimale Änderung gemacht:
checknetisolation loopbackexempt -a -n=microsoft.windowsstore_8wekyb3d8bbwe
checknetisolation loopbackexempt -a -n=microsoft.storepurchaseapp_8wekyb3d8bbwe
checknetisolation loopbackexempt -a -n=microsoft.xboxidentityprovider_8wekyb3d8bbwe
Dann Store neu geöffnet, wieder ok.
Das heißt UWP-Loopback-Ausnahme (loopback exempt): Für den angegebenen UWP-Paketnamen eine Whitelist setzen, damit er auf das lokale localhost/127.0.0.1 zugreifen darf.
Warum wirken Windows-Proxys so „chaotisch“?
Weil es nicht nur einen Weg gibt, sondern „mehrere Spuren parallel“:
- Browser/Teile der Desktop-Apps: lesen WinINet
- Systemdienste: lesen WinHTTP
- Terminal-Tools: erkennen ggf. nur Umgebungsvariablen
- UWP: wird zusätzlich von der Loopback-Sicherheitsrichtlinie des AppContainer beeinflusst
- TUN: kann auf IP-Ebene nochmals einen Teil des Traffics übernehmen
Du siehst „einen Schalter“, im System sind es in Wirklichkeit „fünf Schleusen“.
Vergleich mit Linux / macOS
Linux
- Es gibt keinen einheitlichen „Systemproxy-Hauptschalter“, der alle Apps abdeckt
- Häufig: env-Variablen + app-spezifische Konfiguration
- Transparenter Proxy meist über
tun + iptables/nftables + policy routing - Vorteil: kontrollierbar, skriptbar; Nachteil: deutlich fragmentiert
macOS
- Relativ einheitliche Proxy-Konfiguration pro Netzwerkdienst (System Settings)
- Aber CLI-Tools schauen trotzdem oft auf env-Variablen
- Keine UWP-artige AppContainer-Loopback-Semantik (anderes Sandbox-Modell)
Windows
- GUI wirkt wie „einheitlicher Einstieg“, aber darunter steckt die meiste historische Altlast
- WinINet / WinHTTP / UWP / TUN koexistieren—am ehesten entsteht „das hier geht, das andere ist offline“
Eine Checkliste, die ich jetzt oft zur Diagnose nutze
- WinINet prüfen: zeigt der Proxy auf
127.0.0.1:xxxx? - WinHTTP prüfen:
netsh winhttp show proxy - Prüfen, ob der Proxy-Port wirklich lauscht (
Get-NetTCPConnection) - UWP-Loopback-Ausnahmen prüfen (
checknetisolation loopbackexempt -s) - App-Log/Fehlercode prüfen (z. B. Store
0x80072EFD) - Dann erst entscheiden: Proxy-Problem, DNS-Problem oder Zielseiten-Problem
Zum Schluss ein kurzer Rant
Windows-Proxy ist nicht „falsch konfiguriert“, sondern „du hast nur eine der Schichten richtig konfiguriert“.
Wenn du merkst: Browser läuft super, aber der Store ruft „offline“—zweifle nicht sofort an dir selbst, sondern daran, dass sie überhaupt nicht denselben Weg nehmen.![]()