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.
Use este guia para diagnosticar e corrigir problemas comuns do Proxy de Desenvolvimento. Comece com seu sintoma e trabalhe com as perguntas de diagnóstico para encontrar a solução.
Sintoma: o Proxy de Desenvolvimento não está interceptando solicitações
Você iniciou o Proxy de Desenvolvimento, mas as solicitações do aplicativo não estão aparecendo na saída do Proxy de Desenvolvimento. Trabalhe nessas perguntas para identificar a causa.
O Proxy Dev está em execução?
Verifique se o Proxy de Desenvolvimento está em execução e pronto para interceptar solicitações.
O que procurar:
Depois de iniciar o Proxy de Desenvolvimento, você deverá ver uma saída semelhante a:
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
Se você não vir essa saída:
- Verifique se o Proxy de Desenvolvimento está instalado corretamente executando
devproxy --version - Se você receber um erro, reinstale o Proxy de Desenvolvimento
O Dev Proxy está registrado como o proxy do sistema?
O Dev Proxy deve ser registrado como o proxy do sistema para interceptar solicitações automaticamente. Se não for, as solicitações do aplicativo ignorarão totalmente o Dev Proxy.
Como verificar o macOS:
- Abra Configurações do Sistema>Rede
- Selecione sua conexão de rede ativa
- Vá para Detalhes...>Proxies
- Procurar Proxy HTTP Seguro (HTTPS) definido como
127.0.0.1:8000
Como verificar no Windows:
- Abrir Configurações>Rede & Internet>Proxy
- Em Configuração manual de proxy, verifique se o servidor proxy está definido como
127.0.0.1:8000
Se o Proxy de Desenvolvimento não estiver registrado como proxy do sistema:
Verifique a configuração do Proxy de Desenvolvimento. Execute devproxy config para abrir o arquivo de configuração e verificar se ele não contém:
{
"asSystemProxy": false
}
Se essa configuração existir e estiver definida como false, remova-a ou defina-a como true, e reinicie o Dev Proxy.
Você está monitorando os URLs corretos?
O Proxy de Desenvolvimento intercepta apenas solicitações para URLs que correspondem a padrões na urlsToWatch configuração.
Como verificar:
- Verifique a saída de inicialização do Proxy de Desenvolvimento para a lista de URLs que estão sendo monitoradas
- Compare-os com a URL que seu aplicativo está chamando
Problemas comuns:
-
Curingas ausentes:
https://api.example.comnão corresponde ahttps://api.example.com/users. Usehttps://api.example.com/*em seu lugar. - Domínio errado: verifique novamente o nome de domínio, incluindo subdomínios
- HTTP vs HTTPS: verifique se o protocolo corresponde
Para testar o padrão de URL:
devproxy --urls-to-watch "https://your-api.com/*"
Em seguida, faça uma solicitação para sua API e verifique se o Proxy de Desenvolvimento o registra.
Você está usando o arquivo de configuração correto?
O Proxy de Desenvolvimento pode estar usando um arquivo de configuração diferente do esperado.
Como o Proxy de Desenvolvimento localiza arquivos de configuração:
- Se você especificar
--config-file, o Proxy de Desenvolvimento usará esse arquivo - Caso contrário, o Dev Proxy buscará
devproxyrc.jsonno diretório atual - Se não for encontrado, o Proxy de Desenvolvimento usará as configurações padrão
Para verificar qual arquivo de configuração está sendo usado:
Execute o Proxy de Desenvolvimento com o log de depuração:
devproxy --log-level debug
Procure a saída que mostra qual arquivo de configuração é carregado.
Para especificar explicitamente um arquivo de configuração:
devproxy --config-file ./my-config.json
Você está usando o Proxy de Desenvolvimento com um aplicativo Node.js?
Node.js não usa automaticamente as configurações de proxy do sistema. Você precisa configurar seu aplicativo Node.js para usar o proxy explicitamente.
Solution:
Use o global-agent pacote ou configure sua biblioteca HTTP para usar o proxy. Consulte Usar o Proxy de Desenvolvimento com aplicativos Node.js para obter instruções detalhadas.
Correção rápida com Global Agent:
Instale o agente global:
npm install global-agentAdicione ao ponto de entrada do aplicativo:
import { bootstrap } from 'global-agent'; bootstrap();Inicie seu aplicativo com variáveis de ambiente proxy:
NODE_TLS_REJECT_UNAUTHORIZED=0 GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8000 node app.js
Você está usando o Proxy de Desenvolvimento com o PowerShell no Windows?
O PowerShell não usa automaticamente as configurações de proxy do sistema para solicitações da Web feitas com Invoke-WebRequest ou Invoke-RestMethod.
Solution:
Configure o PowerShell para usar o proxy definindo o -Proxy parâmetro:
Invoke-WebRequest -Uri "https://api.example.com/data" -Proxy "http://127.0.0.1:8000"
Ou defina o proxy para toda a sessão:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Se você estiver usando o PowerShell 7+, também poderá usar:
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://127.0.0.1:8000")
Outras plataformas e estruturas
Se você estiver usando outras plataformas, verifique estes guias:
| Plataforma | Guide |
|---|---|
| Aplicativos .NET | Usar o Proxy de Desenvolvimento com aplicativos .NET |
| Aplicativos .NET 4.8 | Aplicativos .NET 4.8 exigem configuração especial |
| Contêineres do Docker | Usar o Proxy de Desenvolvimento em um contêiner do Docker |
| Estrutura do SharePoint | Usar o Proxy de Desenvolvimento com SPFx |
Sintoma: as solicitações são interceptadas, mas passadas sem alterações
O Dev Proxy mostra suas solicitações na saída, mas elas não estão sendo modificadas, simuladas ou retornando erros simulados.
Seus plug-ins estão habilitados?
Verifique se os plug-ins que você deseja usar estão habilitados em sua configuração.
Como verificar:
Abra o arquivo de configuração e verifique se:
- O plug-in está listado na
pluginsmatriz - O plug-in tem
"enabled": true
{
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
Seus plug-ins estão na ordem correta?
A ordem do Plug-in é importante no Proxy de Desenvolvimento. Os plug-ins são executados na ordem em que estão listados e alguns plug-ins podem parar de processar antes que outros sejam executados.
Problema comum:
Se você tiver MockResponsePlugin antes GenericRandomErrorPlugine uma simulação corresponder à sua solicitação, o plug-in de erro aleatório nunca será executado.
Solution:
Organize plug-ins na ordem em que você deseja que eles processem solicitações. Para obter mais informações, consulte Por que erros aleatórios não são gerados ao usar simulações?.
Seu padrão de URL fictício corresponde à solicitação?
Para respostas simuladas, o padrão de URL deve corresponder exatamente à URL da solicitação.
Itens a serem verificados:
- Parâmetros de cadeia de caracteres de consulta:
https://api.example.com/users?id=1não correspondehttps://api.example.com/users - Barras finais:
https://api.example.com/users/não corresponde ahttps://api.example.com/users - Diferenciação de maiúsculas e minúsculas: os caminhos de URL são sensíveis a maiúsculas e minúsculas
O método de solicitação está correto?
Simulações são específicas do método. Uma simulação para GET solicitações não corresponde às POST solicitações.
Como verificar:
No arquivo de simulações, verifique se a method propriedade corresponde à sua solicitação:
{
"request": {
"url": "https://api.example.com/users",
"method": "GET"
},
"response": {
"statusCode": 200,
"body": { "users": [] }
}
}
Sintoma: erros de SSL/certificado em seu aplicativo
Seu aplicativo lança erros de SSL ou certificado ao tentar fazer solicitações pelo Dev Proxy.
Você tem o certificado de Proxy de Desenvolvimento instalado?
O Proxy de Desenvolvimento usa um certificado autoassinado para descriptografar o tráfego HTTPS. Seu sistema deve confiar nesse certificado.
Solution:
Execute o comando de instalação do certificado:
devproxy cert ensure
Esse comando instala e confia no certificado de Proxy de Desenvolvimento em seu sistema.
O certificado é confiável?
O certificado pode ser instalado, mas não confiável.
Como verificar o macOS:
- Abrir o Acesso às Chaves
- Pesquisar por "Dev Proxy"
- Clique duas vezes no certificado
- Expandir Confiança
- Verifique se a SSL (Secure Sockets Layer) está definida como Always Trust
Como verificar no Windows:
- Execute
certmgr.msc - Navegar até Autoridades Certificadoras Raiz Confiáveis>Certificados
- Procure o certificado de Proxy de Desenvolvimento
Se o certificado não for confiável:
Remova e reinstale o certificado:
devproxy cert remove
devproxy cert ensure
Você está usando Node.js?
Node.js não usa o repositório de certificados do sistema por padrão. Você precisa escolher uma das opções:
Opção 1: Desabilitar validação de certificado (somente desenvolvimento):
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js
Aviso
Nunca use NODE_TLS_REJECT_UNAUTHORIZED=0 em produção. Ele desabilita toda a validação de certificado.
Opção 2: Adicionar o certificado de Proxy de Desenvolvimento ao Node.js:
Exporte o certificado do Proxy de Dev e defina a variável de ambiente NODE_EXTRA_CA_CERTS.
NODE_EXTRA_CA_CERTS=/path/to/devproxy-cert.pem node app.js
Você está usando um runtime ou uma estrutura diferente?
Diferentes plataformas lidam com certificados de forma diferente:
| Plataforma | Solução |
|---|---|
| Python | Usar REQUESTS_CA_BUNDLE ou SSL_CERT_FILE variáveis de ambiente |
| Java | Importar certificado para o repositório de chaves Java usando keytool |
| .NET | O certificado normalmente é confiável por meio do repositório do sistema |
| Docker | Monte o certificado e atualize os certificados da Autoridade Certificadora no contêiner |
Outros problemas comuns
Todas as solicitações falham devido ao timeout do gateway
Causa:
O Proxy de Desenvolvimento não pode alcançar a API de destino.
Solution:
Veja Por que todas as solicitações falham com o tempo limite do gateway?
Nenhuma conexão com a Internet depois de usar o Proxy de Desenvolvimento
Causa:
O Dev Proxy não se desregistra corretamente como proxy do sistema.
Solution:
Veja Por que minha conexão com a Internet não está funcionando depois de usar o proxy?
Obtendo 429 respostas inesperadamente
Causa:
Os plug-ins de limitação de taxa estão habilitados e configurados.
Solution:
Veja por que continuo recebendo 429 respostas?
Erros do banco de dados
| Erro | Solução |
|---|---|
| Erro de inicialização do SqliteConnection | Corrigir a configuração do SQLite |
| "A imagem de disco do banco de dados está malformada" | Recompilar o banco de dados |
Obter mais ajuda
Se você não conseguir encontrar uma solução:
-
Habilitar registro em log de depuração: Executar
devproxy --log-level debugpara saída detalhada - Pesquisar problemas existentes: Problemas de Desenvolvimento do Proxy no GitHub
- Peça ajuda: Obter ajuda e suporte