Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto průvodci můžete diagnostikovat a opravit běžné problémy s dev proxy serverem. Začněte s příznakem a projděte si diagnostické otázky a najděte řešení.
Příznak: Dev Proxy nezchycuje požadavky
Spustili jste dev proxy server, ale požadavky vaší aplikace se nezobrazují ve výstupu dev proxy serveru. Projděte si tyto otázky a identifikujte příčinu.
Běží Dev Proxy?
Zkontrolujte, jestli je vývojový proxy spuštěný a připravený k zachycení požadavků.
Co hledat:
Po spuštění dev Proxy by se měl zobrazit výstup podobný následujícímu:
info Dev Proxy API listening on http://127.0.0.1:8897...
info Dev Proxy listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Pokud se tento výstup nezobrazuje:
- Spuštěním příkazu zkontrolujte, jestli je dev proxy server správně nainstalovaný.
devproxy --version - Pokud se zobrazí chyba, přeinstalujte dev proxy server.
Je dev Proxy zaregistrovaný jako systémový proxy server?
Aby bylo možné automaticky zachycovat požadavky, musí být dev proxy zaregistrovaný jako systémový proxy server. Pokud tomu tak není, požadavky vaší aplikace zcela obcházejí Dev Proxy.
Postup kontroly v systému macOS:
- Otevřete nastavení systému>síť
- Výběr aktivního síťového připojení
- Přejít na podrobnosti...>Proxy
- Vyhledejte zabezpečený proxy server HTTP (HTTPS) nastavený na
127.0.0.1:8000
Jak zkontrolovat ve Windows:
- Otevřít nastavení>sítě a internetového>proxy serveru
- V části Ruční nastavení proxy serveru zkontrolujte, jestli je proxy server nastavený na
127.0.0.1:8000
Pokud dev proxy server není zaregistrovaný jako systémový proxy server:
Zkontrolujte konfiguraci dev proxy serveru. Spuštěním devproxy config otevřete konfigurační soubor a ověřte, že neobsahuje:
{
"asSystemProxy": false
}
Pokud toto nastavení existuje a je nastavené na false, odeberte ho nebo ho nastavte na true, restartujte Dev Proxy.
Sledujete správné adresy URL?
Dev Proxy zachytí jenom požadavky na adresy URL, které odpovídají vzorům v urlsToWatch konfiguraci.
Postup kontroly:
- Podívejte se na spouštěcí výstup dev proxy serveru a podívejte se na seznam sledovaných adres URL.
- Porovnejte je s adresou URL, kterou aplikace volá.
Běžné problémy:
-
Chybějící zástupné znaky:
https://api.example.comneodpovídáhttps://api.example.com/users. Místo toho použijtehttps://api.example.com/*. - Nesprávná doména: Pečlivě zkontrolujte název domény, včetně subdomén.
- HTTP vs HTTPS: Ujistěte se, že se protokol shoduje.
K otestování vzoru URL:
devproxy --urls-to-watch "https://your-api.com/*"
Pak vytvořte požadavek na vaše rozhraní API a zkontrolujte, jestli ho vývojový proxy server protokoluje.
Používáte správný konfigurační soubor?
Dev Proxy může používat jiný konfigurační soubor, než očekáváte.
Jak dev proxy najde konfigurační soubory:
- Pokud zadáte
--config-file, dev proxy tento soubor použije. - Jinak dev proxy hledá
devproxyrc.jsonv aktuálním adresáři - Pokud se nenajde, Dev Proxy použije výchozí nastavení.
Ověření použitého konfiguračního souboru:
Spusťte vývojový proxy server s ladicím protokolováním:
devproxy --log-level debug
Vyhledejte výstup, který ukazuje, který konfigurační soubor se načte.
Explicitní zadání konfiguračního souboru:
devproxy --config-file ./my-config.json
Používáte dev Proxy s Node.js aplikací?
Node.js automaticky nepoužívá nastavení proxy systému. Aplikaci Node.js musíte nakonfigurovat tak, aby používala proxy server explicitně.
Solution:
Použijte balíček nebo nakonfigurujte knihovnu global-agent HTTP tak, aby používala proxy server. Podrobné pokyny najdete v tématu Použití dev proxy serveru s Node.js aplikacemi .
Rychlá oprava s využitím global-agent:
Nainstalujte global-agent:
npm install global-agentPřidejte do vstupního bodu aplikace:
import { bootstrap } from 'global-agent'; bootstrap();Spusťte aplikaci s proměnnými prostředí proxy:
NODE_TLS_REJECT_UNAUTHORIZED=0 GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8000 node app.js
Používáte Dev Proxy s PowerShellem ve Windows?
PowerShell automaticky nepoužívá nastavení proxy systému pro webové požadavky vytvořené pomocí Invoke-WebRequest nebo Invoke-RestMethod.
Solution:
Nakonfigurujte PowerShell tak, aby používal proxy server nastavením parametru -Proxy :
Invoke-WebRequest -Uri "https://api.example.com/data" -Proxy "http://127.0.0.1:8000"
Nebo nastavte proxy server pro celou relaci:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Pokud používáte PowerShell 7 nebo novější, můžete použít také:
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://127.0.0.1:8000")
Jiné platformy a architektury
Pokud používáte jiné platformy, projděte si tyto příručky:
| Platforma | Guide |
|---|---|
| Aplikace v .NET | Použití Dev Proxy s aplikacemi .NET |
| Aplikace .NET 4.8 | Aplikace .NET 4.8 vyžadují speciální konfiguraci |
| Docker kontejnery | Použití dev proxy v kontejneru Dockeru |
| SharePoint Framework | Použití Dev Proxy se SPFx |
Příznak: Požadavky se zachytí, ale předávají se beze změny.
Dev Proxy zobrazuje vaše požadavky ve výstupu, ale nedají se upravovat, napodobovat ani vracet simulované chyby.
Jsou vaše moduly plug-in povolené?
Zkontrolujte, jestli jsou ve vaší konfiguraci povolené moduly plug-in, které chcete použít.
Postup kontroly:
Otevřete konfigurační soubor a ověřte, že:
- Modul plug-in je uveden v
pluginspoli. - Plugin má
"enabled": true
{
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
Jsou vaše moduly plug-in ve správném pořadí?
Pořadí pluginů je v Dev Proxy důležité. Moduly plug-in se spouštějí v uvedeném pořadí a některé moduly plug-in můžou před spuštěním jiných modulů plug-in zastavit zpracování.
Běžný problém:
Pokud máte MockResponsePlugin před GenericRandomErrorPlugin a mock odpovídá vašemu požadavku, plug-in pro náhodné chyby se nikdy nespustí.
Solution:
Uspořádejte moduly plug-in v pořadí, v jakém mají zpracovávat požadavky. Další informace najdete v tématu Proč se při použití napodobení nevyvolají náhodné chyby?
Odpovídá vzor falešné adresy URL vašemu požadavku?
U napodobených odpovědí musí vzor adresy URL přesně odpovídat adrese URL požadavku.
Co je potřeba zkontrolovat:
- Parametry řetězce dotazu:
https://api.example.com/users?id=1Neodpovídáhttps://api.example.com/users - Koncové lomítka:
https://api.example.com/users/neodpovídáhttps://api.example.com/users - Rozlišování velkých a malých písmen: Cesty URL rozlišují malá a velká písmena.
Je metoda požadavku správná?
Napodobení jsou specifické pro metody. Napodobení požadavků GET neodpovídá POST požadavkům.
Postup kontroly:
V mockovacím souboru ověřte, že vlastnost method odpovídá vašemu požadavku.
{
"request": {
"url": "https://api.example.com/users",
"method": "GET"
},
"response": {
"statusCode": 200,
"body": { "users": [] }
}
}
Příznak: Chyby SSL nebo certifikátu ve vaší aplikaci
Vaše aplikace hlásí chyby SSL nebo certifikátu při pokusu o provedení požadavků prostřednictvím Dev Proxy.
Máte nainstalovaný certifikát dev proxy?
Dev Proxy používá certifikát podepsaný svým držitelem k dešifrování provozu HTTPS. Váš systém musí důvěřovat tomuto certifikátu.
Solution:
Spusťte příkaz instalace certifikátu:
devproxy cert ensure
Tento příkaz nainstaluje a důvěřuje certifikátu dev proxy serveru ve vašem systému.
Je certifikát důvěryhodný?
Certifikát může být nainstalovaný, ale není důvěryhodný.
Postup kontroly v systému macOS:
- Otevření řetězce klíčů
- Vyhledejte "Dev Proxy"
- Poklikejte na certifikát.
- Rozšířit Trust
- Ověřte, že je protokol SSL (Secure Sockets Layer) nastavený na hodnotu Always Trust.
Jak zkontrolovat ve Windows:
- Spusťte příkaz
certmgr.msc. - Přejděte na Důvěryhodné kořenové certifikační autority>Certifikáty
- Vyhledejte certifikát dev proxy serveru.
Pokud certifikát není důvěryhodný:
Odeberte a znovu nainstalujte certifikát:
devproxy cert remove
devproxy cert ensure
Používáte Node.js?
Node.js ve výchozím nastavení nepoužívá systémové úložiště certifikátů. Musíte provést jednu z těchto akcí:
Možnost 1: Zakázání ověření certifikátu (pouze vývoj):
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js
Výstraha
Nikdy se nepoužívá NODE_TLS_REJECT_UNAUTHORIZED=0 v produkčním prostředí. Zakáže ověření všech certifikátů.
Možnost 2: Přidání certifikátu dev proxy do Node.js:
Exportujte certifikát dev proxy serveru a nastavte proměnnou NODE_EXTRA_CA_CERTS prostředí:
NODE_EXTRA_CA_CERTS=/path/to/devproxy-cert.pem node app.js
Používáte jiný modul runtime nebo architekturu?
Různé platformy zpracovávají certifikáty odlišně:
| Platforma | Solution |
|---|---|
| Python | Použití proměnných prostředí REQUESTS_CA_BUNDLE nebo SSL_CERT_FILE |
| Java | Import certifikátu do úložiště klíčů Java pomocí keytool |
| platforma .NET | Certifikát je obvykle důvěryhodný prostřednictvím systémového úložiště. |
| Docker | Připojte certifikát a následně aktualizujte certifikáty CA v kontejneru |
Další běžné problémy
Všechny požadavky selžou s vypršením časového limitu brány
Příčina:
Dev Proxy nemůže dosáhnout cílového rozhraní API.
Solution:
Podívejte se, proč všechny požadavky selhávají kvůli vypršení časového limitu brány.
Po použití Dev Proxy není připojení k internetu
Příčina:
Dev Proxy se neodhlásí správně jako systémový proxy server.
Solution:
Přečtěte si, proč po použití proxy serveru nefunguje moje připojení k internetu?
Neočekávané získání odpovědí 429
Příčina:
Moduly plug-in pro omezování rychlosti jsou povolené a nakonfigurované.
Solution:
Podívejte se na proč stále dostávám odpovědi 429?
Chyby databáze
| Error | Solution |
|---|---|
| Chyba inicializace sqliteConnection | Oprava konfigurace SQLite |
| Image disku databáze je poškozená. | Opětovné sestavení databáze |
Získat další nápovědu
Pokud nemůžete najít řešení:
-
Povolte protokolování ladění: Spusťte
devproxy --log-level debugpro podrobný výstup - Hledání existujících problémů: Problémy s GitHubem pro vývoj proxy
- Požádat o pomoc: Získání nápovědy a podpory