Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik deze handleiding om veelvoorkomende problemen met Dev Proxy vast te stellen en op te lossen. Begin met uw symptoom en doorloop de diagnostische vragen om de oplossing te vinden.
Symptoom: Dev Proxy onderschept aanvragen niet
U hebt Dev Proxy gestart, maar de aanvragen van uw app worden niet weergegeven in de uitvoer van de dev-proxy. Doorloop deze vragen om de oorzaak te identificeren.
Wordt Dev Proxy uitgevoerd?
Controleer of de Dev Proxy wordt uitgevoerd en klaar is om verzoeken te onderscheppen.
Waar u naar moet zoeken:
Nadat u Dev Proxy hebt gestart, ziet u uitvoer die vergelijkbaar is met:
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
Als u deze uitvoer niet ziet:
- Controleer of Dev Proxy correct geïnstalleerd is door de opdracht uit te voeren
devproxy --version - Als er een fout optreedt, installeert u Dev Proxy opnieuw
Is dev-proxy geregistreerd als de systeemproxy?
Dev Proxy moet worden geregistreerd als de systeemproxy om aanvragen automatisch te onderscheppen. Als dat niet het geval is, worden de aanvragen van uw app volledig om de Dev Proxy heen geleid.
Hoe te controleren op macOS:
- Systeeminstellingennetwerk>openen
- Selecteer uw actieve netwerkverbinding
- Ga naar Details...>Proxies
- Zoek naar Beveiligde HTTP-proxy (HTTPS) ingesteld op
127.0.0.1:8000
Hoe te controleren op Windows:
- Open Settings>Network & Internet>Proxy
- Controleer onder Handmatige proxy-instelling of de proxyserver is ingesteld op
127.0.0.1:8000
Als Dev Proxy niet is geregistreerd als systeemproxy:
Controleer de configuratie van uw dev-proxy. Voer deze opdracht uit devproxy config om het configuratiebestand te openen en te controleren of het bestand niet bevat:
{
"asSystemProxy": false
}
Als deze instelling bestaat en is ingesteld op false, verwijder deze of stel deze in op true, en start Dev Proxy opnieuw op.
Bekijkt u de juiste URL's?
Dev Proxy onderschept alleen aanvragen naar URL's die overeenkomen met patronen in de urlsToWatch configuratie.
Hoe te controleren:
- Bekijk de opstartuitvoer van de Dev Proxy voor de lijst met URL's die worden bekeken
- Vergelijk ze met de URL die uw app aanroept
Algemene problemen:
-
Ontbrekende jokertekens:
https://api.example.comkomt niet overeen methttps://api.example.com/users. Gebruik in plaats daarvanhttps://api.example.com/*. - Onjuist domein: controleer de domeinnaam, inclusief subdomeinen
- HTTP versus HTTPS: zorg ervoor dat het protocol overeenkomt
Uw URL-patroon testen:
devproxy --urls-to-watch "https://your-api.com/*"
Voer vervolgens een aanvraag naar uw API uit en controleer of de Dev Proxy deze registreert.
Gebruikt u het juiste configuratiebestand?
Dev Proxy gebruikt mogelijk een ander configuratiebestand dan verwacht.
Hoe Dev Proxy configuratiebestanden vindt:
- Als u opgeeft
--config-file, gebruikt Dev Proxy dat bestand - Anders zoekt Dev Proxy naar
devproxyrc.jsonin de huidige map - Als deze niet wordt gevonden, gebruikt Dev Proxy standaardinstellingen
Ga als volgt te werk om te controleren welk configuratiebestand wordt gebruikt:
Dev Proxy uitvoeren met logboekregistratie voor foutopsporing:
devproxy --log-level debug
Zoek naar uitvoer die laat zien welk configuratiebestand is geladen.
Een configuratiebestand expliciet opgeven:
devproxy --config-file ./my-config.json
Gebruikt u Dev Proxy met een Node.js-toepassing?
Node.js maakt niet automatisch gebruik van systeemproxy-instellingen. U moet uw Node.js-app configureren om de proxy expliciet te kunnen gebruiken.
Solution:
Gebruik het global-agent pakket of configureer uw HTTP-bibliotheek om de proxy te gebruiken. Zie Dev Proxy gebruiken met Node.js toepassingen voor gedetailleerde instructies.
Snelle oplossing met globale agent:
De globale agent installeren:
npm install global-agentToevoegen aan het toegangspunt van uw app:
import { bootstrap } from 'global-agent'; bootstrap();Start uw app met proxyomgevingsvariabelen:
NODE_TLS_REJECT_UNAUTHORIZED=0 GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8000 node app.js
Gebruikt u Dev Proxy met PowerShell in Windows?
PowerShell maakt niet automatisch gebruik van systeemproxy-instellingen voor webaanvragen die zijn gemaakt met Invoke-WebRequest of Invoke-RestMethod.
Solution:
Configureer PowerShell om de proxy te gebruiken door de -Proxy parameter in te stellen:
Invoke-WebRequest -Uri "https://api.example.com/data" -Proxy "http://127.0.0.1:8000"
Of stel de proxy in voor de hele sessie:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Als u PowerShell 7+ gebruikt, kunt u ook het volgende gebruiken:
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://127.0.0.1:8000")
Andere platforms en frameworks
Als u andere platforms gebruikt, raadpleegt u deze handleidingen:
| Platform | Guide |
|---|---|
| .NET-toepassingen | Dev Proxy gebruiken met .NET-toepassingen |
| .NET 4.8-toepassingen | Voor .NET 4.8-apps is een speciale configuratie vereist |
| Docker-containers | Dev Proxy gebruiken in een Docker-container |
| SharePoint Framework | Dev Proxy gebruiken met SPFx |
Symptoom: Aanvragen worden onderschept, maar worden ongewijzigd doorgegeven
Dev Proxy toont uw aanvragen in de uitvoer, maar ze worden niet gewijzigd, gemockt of geven geen gesimuleerde fouten terug.
Zijn uw invoegtoepassingen ingeschakeld?
Controleer of de invoegtoepassingen die u wilt gebruiken, zijn ingeschakeld in uw configuratie.
Hoe te controleren:
Open uw configuratiebestand en controleer of:
- De plugin wordt vermeld in de
pluginstabel - De invoegtoepassing heeft
"enabled": true
{
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
Bevinden uw invoegtoepassingen zich in de juiste volgorde?
Volgorde van invoegtoepassingen is belangrijk in Dev Proxy. Invoegtoepassingen worden uitgevoerd in de volgorde waarin ze worden vermeld en sommige invoegtoepassingen kunnen stoppen met verwerken voordat anderen worden uitgevoerd.
Veelvoorkomend probleem:
Als u MockResponsePlugin hebt vóór GenericRandomErrorPlugin, en een mock overeenkomt met uw verzoek, wordt de plugin voor willekeurige fouten nooit uitgevoerd.
Solution:
Rangschik invoegtoepassingen in de volgorde waarin ze aanvragen moeten verwerken. Zie Waarom worden er geen willekeurige fouten gegenereerd bij het gebruik van mocks? voor meer informatie.
Komt uw mock-URL-patroon overeen met de aanvraag?
Voor mock-antwoorden moet het URL-patroon exact overeenkomen met de aanvraag-URL.
Wat u moet controleren:
- Queryreeksparameters:
https://api.example.com/users?id=1komt niet overeenhttps://api.example.com/users - Afsluitende slashes:
https://api.example.com/users/komt niet overeen methttps://api.example.com/users - Hoofdlettergevoeligheid: URL-paden zijn hoofdlettergevoelig
Is de aanvraagmethode juist?
Mocks zijn methodespecifiek. Een mock voor GET verzoeken matcht niet met POST verzoeken.
Hoe te controleren:
Controleer in het mocks-bestand of de method eigenschap overeenkomt met uw aanvraag:
{
"request": {
"url": "https://api.example.com/users",
"method": "GET"
},
"response": {
"statusCode": 200,
"body": { "users": [] }
}
}
Symptoom: SSL/certificaatfouten in uw app
Uw app genereert SSL- of certificaatfouten bij het indienen van aanvragen via Dev Proxy.
Hebt u het Dev Proxy-certificaat geïnstalleerd?
Dev Proxy maakt gebruik van een zelfondertekend certificaat om HTTPS-verkeer te ontsleutelen. Uw systeem moet dit certificaat vertrouwen.
Solution:
Voer de opdracht voor certificaatinstallatie uit:
devproxy cert ensure
Met deze opdracht wordt het Dev Proxy-certificaat op uw systeem geïnstalleerd en vertrouwd.
Wordt het certificaat vertrouwd?
Het certificaat kan worden geïnstalleerd, maar niet vertrouwd.
Hoe te controleren op macOS:
- Toegang tot sleutelhanger openen
- Zoeken naar 'Dev Proxy'
- Dubbelklik op het certificaat
- Vertrouwen uitvouwen
- Controleer of Secure Sockets Layer (SSL) is ingesteld op Always Trust
Hoe te controleren op Windows:
- Voer
certmgr.mscuit - Navigeer naar vertrouwde basiscertificeringsinstanties>certificaten
- Zoek naar het Dev Proxy-certificaat
Als het certificaat niet wordt vertrouwd:
Verwijder het certificaat en installeer het opnieuw:
devproxy cert remove
devproxy cert ensure
Gebruikt u Node.js?
Node.js maakt niet standaard gebruik van het certificaatarchief van het systeem. U moet één van de volgende doen:
Optie 1: Certificaatvalidatie uitschakelen (alleen ontwikkeling):
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js
Waarschuwing
Nooit gebruiken NODE_TLS_REJECT_UNAUTHORIZED=0 in productie. Hiermee schakelt u alle certificaatvalidatie uit.
Optie 2: Voeg het Dev Proxy-certificaat toe aan Node.js:
Exporteer het Dev Proxy-certificaat en stel de NODE_EXTRA_CA_CERTS omgevingsvariabele in:
NODE_EXTRA_CA_CERTS=/path/to/devproxy-cert.pem node app.js
Gebruikt u een andere runtime of een ander framework?
Verschillende platforms verwerken certificaten anders:
| Platform | Solution |
|---|---|
| Python | Gebruik REQUESTS_CA_BUNDLE of SSL_CERT_FILE omgevingsvariabelen |
| Java | Certificaat importeren in Java-sleutelarchief met behulp van keytool |
| .NET | Certificaat wordt doorgaans vertrouwd via de systeemopslag. |
| Docker | Het certificaat koppelen en CA-certificaten bijwerken in de container |
Overige algemene problemen
Alle aanvragen mislukken met gatewaytime-out
Oorzaak:
Dev Proxy kan de doel-API niet bereiken.
Solution:
Zie Waarom mislukken alle aanvragen met time-out van de gateway?
Geen internetverbinding na het gebruik van Dev Proxy
Oorzaak:
Dev Proxy wordt niet correct als systeemproxy gederegistreerd.
Solution:
Zie Waarom werkt mijn internetverbinding niet na het gebruik van de proxy?
429 reacties onverwacht ontvangen
Oorzaak:
Frequentiebeperkingsplug-ins zijn ingeschakeld en geconfigureerd.
Solution:
Zie Waarom krijg ik 429 antwoorden?
Databasefouten
| Fout | Solution |
|---|---|
| Initialisatiefout SqliteConnection | SQLite-configuratie herstellen |
| "Databaseschijfinstallatiekopieën zijn ongeldig" | De database opnieuw bouwen |
Meer hulp krijgen
Als u geen oplossing kunt vinden:
-
Logboekregistratie voor foutopsporing inschakelen: uitvoeren
devproxy --log-level debugvoor gedetailleerde uitvoer - Bestaande problemen zoeken: Problemen met Dev Proxy GitHub
- Hulp vragen: Hulp en ondersteuning krijgen