Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy pillantással
Cél: Felhőszolgáltatás API-kéréseinek helyi vizsgálata
Idő: 20 perc
Beépülő modulok:RewritePlugin, DevToolsPlugin
Előfeltételek:Dev Proxy,Dev Tunnels beállítása
Amikor az alkalmazást a felhőszolgáltatásokkal integrálja, az egyik kihívás, amellyel szembesülhet, az, hogy a felhőszolgáltatás hogyan kommunikál az általa használt API-kkal. Az API-kérések vizsgálata különösen fontos a problémák elhárításakor vagy a felhőszolgáltatás működésének megértéséhez. Ez általában kihívást jelent, mert nincs hozzáférése a felhőszolgáltatás futtatókörnyezetéhez, és előfordulhat, hogy a felhő API monitorozási eszközeihez sem fér hozzá. A Dev Proxy és a fejlesztői alagutak használatával megvizsgálhatja a felhőszolgáltatások által a felhő API-khoz küldött API-kéréseket.
Fontos
A folytatás előtt telepítse a fejlesztői alagutakat , és konfigurálja az eszközt használatra.
Felhőalapú API-k hívása a felhőszolgáltatásokban
Amikor az alkalmazást felhőszolgáltatásokkal integrálja, a felhőszolgáltatás meghívja az API-t a felhőben. Az alábbi ábra a következő forgatókönyvet szemlélteti:
A felhőszolgáltatással kapcsolatos API-kérések vizsgálatához hozzá kell férnie a felhő API monitorozási eszközeihez. Gyakran nem fér hozzá ezekhez az eszközökhöz. Ezt a korlátozást átmeneti környezettel megkerülheti. Az átmeneti környezet beállítása és karbantartása azonban időigényes. Mi több, ha nem rendelkezik a felhőalapú API-val, előfordulhat, hogy egyáltalán nem tud átmeneti környezetet beállítani.
API-kérések vizsgálata Dev Proxy és fejlesztői alagutak használatával
Dev Proxy és fejlesztői alagutak használatával megvizsgálhatja azokat az API-kéréseket, amelyeket a felhőszolgáltatás a felhőalapú API-val kapcsolatban tapasztal.
A felhőalapú API közvetlen meghívása helyett úgy konfigurálja a felhőszolgáltatást, hogy meghívja a helyi gépen futtatott fejlesztői alagutat (1). Úgy konfigurálja a Dev Tunnelt, hogy egy olyan gazdagépfejlécet használjon, amelyet a Dev Proxy elfog. Minden alkalommal, amikor a felhőszolgáltatás meghívja a fejlesztői alagutat, átadja a kérést a Dev Proxynak, amely elfogja (2). A Dev Proxy RewritePlugin használatával módosíthatja a lehallgatott kérés URL-címét, és továbbítja azt a felhő API-nak (3). A felhő API feldolgozza a kérést, és választ ad vissza a Dev Proxynak (4). A Dev Proxy átadja a dev tunnel (5) válaszát, amely továbbítja azt a felhőszolgáltatásnak (6). Mivel a kérés a helyi gépen keresztül van irányítva, megvizsgálhatja annak adatait, beleértve az URL-címet, a fejléceket és a törzset, valamint a felhő API válaszát.
Eset
Tegyük fel, hogy meg szeretné vizsgálni azOKAT az API-kéréseket, amelyek szerint egy felhőszolgáltatás problémákat tapasztal a bemutató JSONPlaceholder API-val, amely a következő helyen https://jsonplaceholder.typicode.comtalálható: . A Dev Proxy és a dev alagutak kombinálásával elfoghatja a kéréseket, és megvizsgálhatja az adataikat.
A kérelmeket a Dev Tunnels ellenőrző eszközeivel vagy a Dev Proxy DevToolsPlugin használatával is megvizsgálhatja. Mindkét eszköz a Chrome Dev Tools használatával jeleníti meg a lehallgatott kérelmekre és válaszokra vonatkozó információkat. A fejlesztői alagutak ellenőrzési eszközeinek használatakor a fejlesztői alagút URL-címe jelenik meg a kérés URL-címeként. Ehhez képest a Dev Proxy DevToolsPlugin használatakor láthatja, hogy a Dev Proxy hogyan fogja elfogni a kérést a helyi vagy az újraírt URL-cím használatával.
API-kérések vizsgálata fejlesztői proxyn, alagutakon és azok ellenőrző eszközein keresztül.
Dev Proxy konfigurálása a
https://jsonplaceholder.typicode.coméshttp://jsonplaceholder.typicode.localirányuló kérések elfogására.Fájl: devproxyrc.json
{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rc.schema.json", "plugins": [ { "name": "RewritePlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "rewritePlugin" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*", "http://jsonplaceholder.typicode.local/*" ], "rewritePlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rewriteplugin.schema.json", "rewritesFile": "devproxy-rewrites.json" }, "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }A konfigurációs fájl a RewritePlugin használatával írja át az elfogt kérések URL-címét. Emellett konfigurálja a Dev Proxyt is, hogy elfogja a kéréseket a
https://jsonplaceholder.typicode.comés ahttp://jsonplaceholder.typicode.localURL-címekhez.Feljegyzés
Bár nem szükséges tartományt
.localhasználni, ez egy jó gyakorlat, amely segít különbséget tenni a valós és a lehallgatott kérések között. Azt is megfigyelheti, hogy a tartomány esetében a.localHTTPS helyett a HTTP protokollt használja. A fejlesztői átjárók nem támogatják a HTTPS-t a helyi gép egyéni gazdagépfejléceihez irányuló kérések útválasztásához, ezért kell HTTP-t használnia.Hozzon létre egy átíró fájlt
devproxy-rewrites.json, amely módosítja az elfogott kérések URL-címét.Fájl: devproxy-rewrites.json
{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rewriteplugin.rewritesfile.schema.json", "rewrites": [ { "in": { "url": "^http://jsonplaceholder.typicode.local(.*)" }, "out": { "url": "https://jsonplaceholder.typicode.com$1" } } ] }Az átírási fájl a lehallgatott kérések URL-címét a következőre
http://jsonplaceholder.typicode.localhttps://jsonplaceholder.typicode.commódosítja: .Indítsa el a fejlesztői proxyt a parancssorban történő futtatással
devproxy.Indítsa el a fejlesztői alagutat a parancssorban történő futtatással.
Ezzel a paranccsal megnyit egy új fejlesztői alagutat a gépen. A 8000-s portra irányítja, ahol a Dev Proxy figyeli a bejövő kéréseket. Megadhatja a host fejlécet is, amelyet a Dev Proxy elfog.
Figyelje meg annak a fejlesztői alagútnak az URL-címét, amellyel konfigurálhatja a felhőszolgáltatást
https://tunnel_id-8000.euw.devtunnels.mspéldául a helyi gép meghívására.Egy webböngészőben nyissa meg például
https://tunnel_id-8000-inspect.euw.devtunnels.msa dev tunnel vizsgálati URL-címét.Szimuláljon egy felhőszolgáltatást, amely meghívja a felhő API-t a fejlesztői alagút URL-címének használatával a parancssorban való futtatással:
curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1.Feljegyzés
Figyelje meg, hogy a gazdagép neve megegyezik a gépen található fejlesztői alagút URL-címével. Az elérési út megegyezik a vizsgálandó API elérési útjára.
Figyelje meg, hogy a Dev Proxy hogyan továbbítja a kérést, majd továbbítja a felhő API-nak, és végül visszaadja a választ az ügyfélnek.
A webböngészőben figyelje meg a lehallgatott kéréssel és a felhő API válaszával kapcsolatos információkat.
Feljegyzés
Figyelje meg, hogy a rögzített kérelem URL-címe a fejlesztői alagút URL-címe. A rögzített gazdagépfejléc az a gazdagépfejléc, amelyet a Dev Proxy elfog.
Zárja be a fejlesztői alagutat, és állítsa le a Dev Proxyt a Ctrl C+a parancssor megfelelő munkameneteiben.
API-kérések vizsgálata Dev Proxy és DevToolsPlugin használatával
A felhőalapú szolgáltatással kapcsolatos API-kérések vizsgálatának másik módja a Dev Proxy DevToolsPlugin használata. A DevToolsPlugin és a dev alagutak ellenőrző eszközeinek használata közötti különbség az, hogy a DevToolsPlugin megmutatja, hogyan fogja el a Dev Proxy a kérést a helyi vagy az újraírt URL-cím használatával.
Konfigurálja a Dev Proxyt, hogy a DevToolsPlugin segítségével vizsgálja az API-kéréseket a lehallgatott URL-cím segítségével
Először konfiguráljuk a Dev Proxyt a felhőalapú API-kérések vizsgálatához. Konfiguráljuk úgy a DevToolsPlugint, hogy a Dev Proxy újraírása előtt megjelenítse az URL-cím adatait.
Frissítse a Dev Proxy konfigurációs fájlját a DevToolsPlugin használatára:
Fájl: devproxyrc.json
{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rc.schema.json", "plugins": [ { "name": "DevToolsPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" }, { "name": "RewritePlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "rewritePlugin" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*", "http://jsonplaceholder.typicode.local/*" ], "rewritePlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rewriteplugin.schema.json", "rewritesFile": "devproxy-rewrites.json" }, "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Feljegyzés
Figyelje meg, hogy hozzáadjuk a DevToolsPlugint az Újraírásplugin elé. Ha először hozzáadja a DevToolsPlugint, az újraírás előtt megjeleníti a lehallgatott kérelem adatait.
Indítsa el a fejlesztői proxyt a parancssorban történő futtatással
devproxy. Figyelje meg, hogy a Dev Proxy megnyit egy böngészőablakot, amelyen látható a Chrome Dev Tools.Indítsa el a fejlesztői alagutat a parancssorban történő futtatással.
Szimuláljon egy felhőszolgáltatást, amely meghívja a felhő API-t a fejlesztői alagút URL-címének használatával a parancssorban való futtatással:
curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1.A Chrome Dev Tools böngészőben figyelje meg a lehallgatott kéréssel és a felhő API válaszával kapcsolatos információkat.
Feljegyzés
Figyelje meg, hogy a rögzített kérelem URL-címe a felhőalapú API URL-címe. A rögzített gazdagépfejléc az a gazdagépfejléc, amelyet a Dev Proxy elfog.
Zárja be a fejlesztői alagutat, és állítsa le a Dev Proxyt a Ctrl C+a parancssor megfelelő munkameneteiben.
A Dev Proxy konfigurálása a DevToolsPlugin használatával az API-kérések újraírt URL-cím használatával történő vizsgálatához
Ezután frissítse a dev proxy konfigurációját az újraírt URL-cím információinak megjelenítéséhez.
Frissítse a Dev Proxy konfigurációs fájlját úgy, hogy a DevToolsPlugint a RewritePlugin után helyezi el:
Fájl: devproxyrc.json
{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rc.schema.json", "plugins": [ { "name": "RewritePlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "rewritePlugin" }, { "name": "DevToolsPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*", "http://jsonplaceholder.typicode.local/*" ], "rewritePlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.3.0/rewriteplugin.schema.json", "rewritesFile": "devproxy-rewrites.json" }, "logLevel": "information", "newVersionNotification": "stable", "showSkipMessages": true }Indítsa el a fejlesztői proxyt a parancssorban történő futtatással
devproxy. Figyelje meg, hogy a Dev Proxy megnyit egy böngészőablakot, amelyen látható a Chrome Dev Tools.Indítsa el a fejlesztői alagutat a parancssorban történő futtatással.
Szimuláljon egy felhőszolgáltatást, amely meghívja a felhő API-t a fejlesztői alagút URL-címének használatával a parancssorban való futtatással:
curl https://tunnel_id-8000.euw.devtunnels.ms/posts/1.A Chrome Dev Tools böngészőben figyelje meg a lehallgatott kéréssel és a felhő API válaszával kapcsolatos információkat.
Feljegyzés
Figyelje meg, hogy a rögzített kérelem URL-címe és a hoszt fejléce is megjeleníti az URL-címét a felhő API-nak.
Zárja be a fejlesztői alagutat, és állítsa le a Dev Proxyt a Ctrl C+a parancssor megfelelő munkameneteiben.
Összegzés
A Dev Proxy és a fejlesztői alagutak használatával megvizsgálhatja a felhőszolgáltatások által a felhő API-khoz küldött API-kéréseket. A kérések vizsgálatához használhat fejlesztői alagutakat ellenőrző eszközöket, vagy a Dev Proxy DevToolsPlugint. Mindkét eszköz megjeleníti a lehallgatott kérelmekkel kapcsolatos információkat, beleértve az URL-címet, a fejléceket és a törzset, valamint a felhő API válaszát. A Dev Proxy és a fejlesztői alagutak használatával jobban megértheti, hogyan használják a felhőszolgáltatások a felhő API-kat, és hatékonyabban háríthatja el a problémákat.
Következő lépések
További információ a RewritePluginről.