Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si usa Dev Proxy, è possibile scegliere di eseguirlo direttamente nel computer o in un contenitore Docker. L'esecuzione di Dev Proxy in Docker è un ottimo modo per isolarlo dall'ambiente locale. Offre anche un modo coerente di usare Dev Proxy tra il computer locale e gli ambienti CI/CD.
Usare l'immagine Docker del proxy di sviluppo
Per praticità, è possibile usare un'immagine Docker con Il proxy di sviluppo. È possibile usarlo per eseguire Dev Proxy in un contenitore Docker. È possibile eseguire il pull dell'immagine dal Registro Contenitori GitHub usando il comando seguente:
docker pull ghcr.io/dotnet/dev-proxy:latest
Annotazioni
Per provare le funzionalità di anteprima più recenti, usare la versione beta del contenitore Dev Proxy.
docker pull ghcr.io/dotnet/dev-proxy:beta
Se si usa Dev Proxy in una pipeline CI/CD, è consigliabile usare una versione specifica dell'immagine, anziché latest o beta. In questo modo, è possibile assicurarsi che la pipeline non sia interessata da modifiche di rilievo introdotte nella versione più recente di Dev Proxy. Ad esempio, per usare Dev Proxy versione 0.26.0, usare il comando seguente:
docker pull ghcr.io/dotnet/dev-proxy:0.26.0
Avviare il contenitore Dev Proxy
Per avviare il contenitore Dev Proxy, usare il comando seguente:
docker run \
# remove the container when it exits
--rm \
# run the container interactively
-it \
# map Dev Proxy ports to the host
-p 8000:8000 -p 8897:8897 \
# map volumes to the host. Create the `cert` folder in the current working directory before running the command
-v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
# specify the image to use
ghcr.io/dotnet/dev-proxy:0.26.0
Dopo aver eseguito il comando, Dev Proxy viene avviato automaticamente e rimane in ascolto del traffico sulla porta 8000. Poiché è in esecuzione in un contenitore Docker, non viene registrato automaticamente come proxy di sistema nell'host per intercettare le richieste Web. È invece necessario configurare manualmente il proxy di sistema nell'host o configurare il proxy per l'applicazione.
Eseguendo il contenitore in modo interattivo (usando le -it opzioni), è possibile controllare Dev Proxy dalla riga di comando. L'interazione con Dev Proxy è utile, ad esempio, per l'avvio e l'arresto della registrazione, la cancellazione dello schermo e così via. Se si avvia il contenitore in background, è comunque possibile controllare Dev Proxy usando l'API Dev Proxy.
Parametri
Il Docker del proxy di sviluppo contiene diversi parametri che è possibile usare per personalizzarne il comportamento.
Porte
L'immagine espone le porte seguenti:
- 8000 : porta in cui Dev Proxy è in ascolto del traffico in ingresso.
- 8897 : porta in cui Dev Proxy espone l'API. È possibile usarlo per interagire con il Dev Proxy programmaticamente.
Importante
Assicurarsi di eseguire il mapping di entrambe le porte all'host, in modo da poter accedere a Dev Proxy dal computer locale e usare Dev Proxy Toolkit.
Volumi
L'immagine espone i volumi seguenti:
-
/config : la directory di lavoro corrente da cui il contenitore avvia Dev Proxy. Se la cartella mappa contiene un
devproxyrc.jsonfile, Dev Proxy lo usa automaticamente per configurarlo. - /home/devproxy/.config/dev-proxy/rootCert : cartella in cui Dev Proxy archivia il certificato radice. Mappando il volume sul tuo host, puoi facilmente accedere al certificato root e installarlo nel tuo sistema o browser.
Suggerimento
In alternativa, per eseguire il mapping del certificato radice all'host, è possibile usare l'API Dev Proxy per scaricare la chiave pubblica del certificato radice nel formato PEM (Privacy Enhanced Mail). Per scaricare il certificato, chiamare l'endpoint GET http://127.0.0.1:8897/proxy/rootCertificate?format=crt .
Uso del proxy di sviluppo in Docker
Quando si avvia il contenitore Dev Proxy, avvia automaticamente Dev Proxy in ascolto del traffico in ingresso sulla porta 8000.
Configurazione predefinita
Dev Proxy cerca il devproxyrc.json file nella cartella di cui si esegue il mapping al /config volume. Se trova il file, lo usa per configurare se stesso. Se non trova il file, usa la configurazione predefinita.
Configurazione personalizzata
È possibile usare una configurazione personalizzata per Dev Proxy creando il file devproxyrc.json nella cartella che effettua il mapping con il volume /config. In alternativa, è possibile specificare il file di configurazione usando il --config-file parametro quando si avvia Dev Proxy. Ad esempio, per usare il myconfig.json file, usare il comando seguente:
docker run \
# remove the container when it exits
--rm \
# run the container interactively
-it \
# map Dev Proxy ports to the host
-p 8000:8000 -p 8897:8897 \
# map volumes to the host. Create the `cert` folder in the current working directory before running the command
-v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
# specify the image to use
ghcr.io/dotnet/dev-proxy:0.26.0 \
# specify the configuration file to use
--config-file /config/myconfig.json
Il file di configurazione specificato deve essere accessibile dal contenitore. Se si usa un percorso relativo, deve essere relativo al /config volume.
Altre opzioni
Se si vogliono usare altre opzioni, è possibile specificarle nello stesso modo in cui si farebbe quando si esegue Dev Proxy direttamente nel computer. Ad esempio, per specificare gli URL da controllare, usare il comando seguente:
docker run \
# remove the container when it exits
--rm \
# run the container interactively
-it \
# map Dev Proxy ports to the host
-p 8000:8000 -p 8897:8897 \
# map volumes to the host. Create the `cert` folder in the current working directory before running the command
-v ${PWD}:/config -v ${PWD}/cert:/home/devproxy/.config/dev-proxy/rootCert \
# specify the image to use
ghcr.io/dotnet/dev-proxy:0.26.0 \
# specify the URLs to watch
--urls-to-watch "https://example.com/*"