Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Visão geral
Objetivo: Controlar se o Proxy de Desenvolvimento captura todo o tráfego do sistema ou apenas o tráfego roteado explicitamente
Tempo: 5 minutos
Pré-requisitos:Configurar o Proxy de Desenvolvimento
Por padrão, quando você inicia o Proxy de Desenvolvimento, ele se registra como o proxy do sistema. Como resultado, todo o tráfego HTTP/HTTPS em seu computador é roteado automaticamente por meio do Proxy de Desenvolvimento. Fazer proxy de todo o tráfego por meio do Proxy de Desenvolvimento funciona bem para a maioria dos cenários: você inicia o Proxy de Desenvolvimento e captura imediatamente as solicitações do seu aplicativo sem nenhuma configuração extra.
No entanto, há situações em que você pode querer mais controle sobre qual tráfego passa pelo Proxy de Desenvolvimento. A asSystemProxy opção permite desabilitar o registro automático de proxy do sistema, oferecendo controle refinado sobre quais aplicativos usam o Proxy de Desenvolvimento.
Quando desabilitar o registro de proxy do sistema
Considere a configuração asSystemProxy para false quando:
- Você está em uma rede corporativa com configurações de proxy existentes que não deseja substituir
- Você só deseja testar um aplicativo específico sem afetar outros aplicativos em execução em seu computador
- Outros aplicativos falham quando o Proxy de Desenvolvimento intercepta seu tráfego (por exemplo, Azure Functions)
- Você está executando várias instâncias de Dev Proxy e deseja rotear o tráfego para instâncias específicas
- Você deseja minimizar a interferência com serviços do sistema e processos em segundo plano
Configurar a opção de proxy do sistema
Você pode configurar a opção asSystemProxy de duas maneiras: usando o arquivo de configuração ou a linha de comando.
Arquivo de configuração
Para desabilitar persistentemente o registro de proxy do sistema, adicione a asSystemProxy configuração ao arquivo de configuração.
Arquivo:devproxyrc.json
Propósito: Desabilitar o registro automático de proxy do sistema
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://api.contoso.com/*"
]
}
Linha de comando
Para desabilitar o registro de proxy do sistema para uma única sessão, use a opção --as-system-proxy .
devproxy --as-system-proxy false
Rotear o tráfego para o Proxy de Desenvolvimento manualmente
Quando você desabilita o registro de proxy do sistema, os aplicativos não roteiam automaticamente seu tráfego através do Dev Proxy. Você precisa configurar cada aplicativo para usar o Proxy de Desenvolvimento explicitamente.
Usando variáveis de ambiente
A maneira mais comum de rotear o tráfego para o Dev Proxy é definindo a variável de ambiente HTTPS_PROXY.
PowerShell:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
node app.js
Prompt de Comando:
set HTTPS_PROXY=http://127.0.0.1:8000
node app.js
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Dica
Alguns aplicativos também dão suporte à variável de HTTP_PROXY ambiente. Defina ambos se o aplicativo fizer solicitações HTTP e HTTPS.
Configuração específica do idioma
Diferentes linguagens de programação e estruturas têm suas próprias maneiras de configurar proxies:
- Node.js: Usar o pacote do agente global ou configurar o agente HTTP diretamente
-
.NET: Definir a variável de
HTTPS_PROXYambiente ou configurarHttpClientcom um proxy (consulte Usar o Proxy de Desenvolvimento com aplicativos .NET) -
Azure Functions: Configurar o proxy (
local.settings.jsonconsulte Usar o Proxy de Desenvolvimento com o .NET Azure Functions)
Exemplo: testar o Azure Functions sem interferir na inicialização
O Azure Functions usa gRPC para comunicação interna, que falha quando o Dev Proxy é registrado como o proxy do sistema. Para usar o Proxy de Desenvolvimento com o Azure Functions, desabilite o registro de proxy do sistema e configure o proxy por meio de variáveis de ambiente.
Arquivo:devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"asSystemProxy": false,
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
]
}
Arquivo:local.settings.json
{
"IsEncrypted": false,
"Values": {
"HTTPS_PROXY": "http://127.0.0.1:8000"
}
}
Com essa configuração, o Azure Functions é iniciado normalmente enquanto suas solicitações HTTP para as URLs observadas são roteadas pelo Dev Proxy.
Exemplo: testar um aplicativo mantendo outros não afetados
Ao desenvolver vários aplicativos simultaneamente, talvez você queira usar o Proxy de Desenvolvimento com apenas um deles. Desabilite o registro de proxy do sistema e defina a variável de ambiente apenas para o aplicativo de destino.
Inicie o Dev Proxy sem registrar o proxy do sistema.
devproxy --as-system-proxy false
Em um terminal separado, execute seu aplicativo com o proxy configurado:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
npm start
HTTPS_PROXY=http://127.0.0.1:8000 npm start
Outros aplicativos em seu computador continuam funcionando normalmente sem nenhuma interferência de proxy.
Executar várias instâncias de Proxy de Desenvolvimento
Ao definir asSystemProxy como false, você pode executar várias instâncias de Proxy de Desenvolvimento simultaneamente. Cada instância escuta em sua própria porta e rastreia seu próprio estado utilizando arquivos de estado individuais.
Iniciar várias instâncias
Inicie cada instância em uma porta diferente:
devproxy --as-system-proxy false --port 8000 --config-file devproxyrc-api1.json
Em outro terminal:
devproxy --as-system-proxy false --port 9000 --config-file devproxyrc-api2.json
Verificar o status das instâncias em execução
Para ver todas as instâncias em execução, use o status comando:
devproxy status
Parar uma instância específica
Para direcionar uma instância específica, use a opção --pid com o stop comando:
devproxy stop --pid 6456
Para interromper todas as instâncias em execução:
devproxy stop
Exibir logs de uma instância específica
Use a opção --pid com o logs comando:
devproxy logs --pid 6456
Se você executar devproxy logs sem --pid, o Dev Proxy mostrará logs da instância de proxy do sistema ou da instância iniciada mais recentemente, se nenhuma estiver registrada como o proxy do sistema. O Dev Proxy também imprime um aviso informando qual instância ele selecionou e lista as IDs de processo das outras instâncias em execução.
Observação
Somente uma instância de Proxy de Desenvolvimento pode ser registrada como o proxy do sistema por vez. Se você tentar iniciar uma nova instância com asSystemProxy definido como true enquanto outra instância de proxy do sistema já estiver em execução, o Proxy de Desenvolvimento bloqueará a inicialização.
Consulte também
- Configurações de proxy – todas as opções de configuração
- comando status
- comando parar
- Comando logs
- Usar o Proxy de Desenvolvimento com aplicativos Node.js
- Usar o Proxy de Desenvolvimento com aplicativos .NET
- Use o Dev Proxy com Azure Functions em .NET
- O Proxy de Desenvolvimento não intercepta solicitações