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.
Na první pohled
Cíl: Nainstalovat Dev Proxy ve vývojovém kontejneru nebo GitHub Codespaces
Čas: 10 minut
Požadavky: Projekt se souboremdevcontainer.json, Dockerem nebo GitHub Codespaces
Pokud vyvíjíte v vývojovém kontejneru nebo v GitHub Codespaces, můžete Dev Proxy nainstalovat pomocí funkce Dev Proxy Dev Container Feature. Funkce nainstaluje do kontejneru Dev Proxy a po vytvoření kontejneru vygeneruje jedinečný kořenový certifikát Dev Proxy pro kontejner a označí jej jako důvěryhodný. Abyste mohli certifikátu důvěřovat sami, nemusíte postupovat podle kroků při prvním spuštění.
Přidejte funkci Dev Proxy do vývojového kontejneru
Pokud chcete do vývojového kontejneru nainstalovat Dev Proxy, přidejte komponentu Dev Proxy Feature do části .devcontainer/devcontainer.json souboru features:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {}
}
}
Znovu sestavte kontejner nebo vytvořte nový codespace, aby se změna použila. Po spuštění kontejneru ověřte, že je nainstalovaný Dev Proxy:
devproxy --version
Note
Funkce je verzovaná odděleně od Dev Proxy.
ghcr.io/dotnet/dev-proxy/dev-proxy:1 odkazuje na verzi 1 funkce. Pokud chcete zvolit, kterou verzi Dev Proxy chcete nainstalovat, použijte tuto možnost version.
Nakonfigurovat funkci
Funkce podporuje následující možnosti:
| Možnost | Description | Typ | Výchozí |
|---|---|---|---|
version |
Verze dev Proxy pro instalaci: latest, betanebo konkrétní verze, například 4.0.0 nebo v4.0.0. |
řetězec | latest |
trustCertificate |
Po vytvoření kontejneru vygenerujte kořenový certifikát Dev Proxy jedinečný pro kontejner a označte jej jako důvěryhodný v celém systému a pro běžná runtime prostředí. | boolean | true |
Pokud například chcete nainstalovat konkrétní verzi Dev Proxy, použijte následující konfiguraci:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {
"version": "4.0.0"
}
}
}
Pokud chcete vyzkoušet nejnovější funkce ve verzi Preview, nastavte version na beta. Když nainstalujete beta verzi, funkce také přidá devproxy-beta příkaz.
Pokud používáte Dev Proxy v konfiguraci sdíleného vývojového kontejneru, zvažte připnutí Dev Proxy na konkrétní verzi místo latest nebo beta. Tímto způsobem zajistíte, aby všichni pracující na projektu používali stejnou verzi Dev Proxy.
Jak funkce zpracovává kořenový certifikát
Dev Proxy používá kořenový certifikát k dešifrování provozu HTTPS. Funkce negeneruje certifikát při sestavení image. Pokud ano, certifikát a jeho privátní klíč by skončily ve vrstvě image a všichni používající stejnou image nebo prebuild Codespaces by sdíleli stejnou důvěryhodnou certifikační autoritu.
Místo toho po vytvoření kontejneru (postCreateCommand) funkcionalita:
- Spustí
devproxy cert ensurejako vzdálený uživatel, aby se vygeneroval kořenový certifikát jedinečný pro kontejner. - Přidá certifikát do systémového úložiště certifikátů (
/usr/local/share/ca-certificates), aby nástroj curl, .NET a další nástroje, které používají úložiště systému, důvěřovaly mu.
Některá runtime prostředí nepoužívají systémové úložiště certifikátů, takže funkce nastaví následující proměnné prostředí tak, aby je odkazovaly na systémový svazek certifikátů certifikačních autorit (/etc/ssl/certs/ca-certificates.crt):
| Proměnná | Používáno kým |
|---|---|
NODE_EXTRA_CA_CERTS |
Node.js |
REQUESTS_CA_BUNDLE |
Python requests |
SSL_CERT_FILE |
Python a další nástroje založené na OpenSSL |
Aby bylo možné důvěřovat certifikátu, funkce nainstaluje pomocný skript vlastněný kořenem a umožní vzdálenému uživateli spustit ho pomocí sudo bez hesla. Pokud nechcete, aby funkce vygenerovala certifikát a označila jej jako důvěryhodný, nastavte trustCertificate na false:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {
"trustCertificate": false
}
}
}
Important
Funkce nekonfiguruje úložiště klíčů Java, takže aplikace Java nedůvěřují kořenovému certifikátu Dev Proxy.
Python 3.13 a novější umožňují přísné ověřování certifikátů, které odmítá certifikáty, jež generují Dev Proxy v3 a starší verze pro zachycené hostitele. Pokud chcete volat rozhraní API prostřednictvím dev Proxy z Python verze 3.13 nebo novější, použijte Dev Proxy v4 nebo novější.
Použití Dev Proxy ve vývojovém kontejneru
Funkce nespustí Dev Proxy a nenastaví proměnné prostředí HTTP_PROXY nebo HTTPS_PROXY pro celý kontejner. Proměnné proxy serveru v rámci celého kontejneru by směrovaly správce balíčků, git a vlastní provoz VS Code prostřednictvím Dev Proxy, což způsobí, že přestanou fungovat, když Dev Proxy není spuštěný.
Pokud chcete použít Dev Proxy, spusťte ho v terminálu ve vývojovém kontejneru s konfiguračním souborem:
devproxy --config-file .devproxy/devproxyrc.json
Potom nakonfigurujte aplikaci, kterou testujete, tak, aby používala Dev Proxy. Pokud například chcete směrovat požadavky z aplikace Node.js prostřednictvím Dev Proxy, spusťte aplikaci s proměnnou HTTPS_PROXY prostředí:
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Další informace o konfiguraci aplikace tak, aby používala Dev Proxy, najdete v příručce pro váš zásobník, jako je použití Dev Proxy s aplikacemi Node.js nebo použití Dev Proxy s aplikacemi .NET.
Dev Proxy Toolkit
Funkce přidá rozšíření Dev Proxy Toolkit do nástroje VS Code v vývojovém kontejneru. Pokud rozšíření nechcete nainstalovat, vylučte jej ve svém souboru devcontainer.json:
{
"features": {
"ghcr.io/dotnet/dev-proxy/dev-proxy:1": {}
},
"customizations": {
"vscode": {
"extensions": ["-garrytrinder.dev-proxy-toolkit"]
}
}
}
Podporované obrázky
Funkce podporuje image založené na Debianu a Ubuntu na platformě x64 a arm64. Image Alpine a jiné image založené na musl nejsou podporované.