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
Meta: Usar o Dev Proxy com o Subsistema do Windows para Linux (WSL)
Tempo: 15 minutos
Pré-requisitos:Configurar o Dev Proxy, WSL instalado
Ao desenvolver aplicativos no WSL (Subsistema do Windows para Linux), você tem duas opções para usar o Proxy de Desenvolvimento: executá-lo no host do Windows ou dentro do WSL. Ambas as abordagens têm suas vantagens dependendo do fluxo de trabalho de desenvolvimento.
Opção 1: Proxy de Desenvolvimento no host do Windows (recomendado)
A abordagem mais simples é instalar e executar o Proxy de Desenvolvimento no Windows. Com o Proxy Automático do WSL e o modo de rede espelhado, o WSL usa o proxy do sistema Windows, portanto, os aplicativos em execução no WSL têm o tráfego interceptado pelo Dev Proxy sem configurar o proxy no WSL.
Configurar a rede WSL
O Dev Proxy registra-se como o proxy do sistema do Windows em um endereço localhost (127.0.0.1:8000 por padrão). Para aplicativos no WSL usarem esse proxy, habilite as seguintes configurações na [wsl2] seção do arquivo de configuração do WSL localizado em %UserProfile%\.wslconfig Windows:
[wsl2]
networkingMode=mirrored
autoProxy=true
| Setting | Description |
|---|---|
networkingMode=mirrored |
Espelha as interfaces de rede Windows no Linux, o que permite que aplicativos no WSL se conectem a servidores em execução em Windows, como Dev Proxy, usando 127.0.0.1. Requer Windows 11 versão 22H2 ou posterior. O valor padrão é nat. |
autoProxy=true |
Faz com que o WSL use as configurações de proxy HTTP Windows para que o proxy configurado no Windows seja definido automaticamente no WSL. Disponível em Windows 11. Habilitado por padrão. |
Depois de alterar o .wslconfig arquivo, reinicie o WSL para que as alterações entrem em vigor:
wsl --shutdown
Observação
No modo de rede NAT padrão, os aplicativos no WSL não podem se conectar ao Dev Proxy no Windows usando 127.0.0.1. Se você não puder usar o modo de rede espelhado, execute o Proxy de Desenvolvimento dentro do WSL. Para obter mais informações, consulte a Opção 2: Proxy de Desenvolvimento dentro do WSL.
Para obter mais informações, consulte Acessar aplicativos de rede com o WSL e Configuração avançada de definições no WSL.
Configurar o Proxy de Desenvolvimento no Windows
Instale o Proxy de Desenvolvimento no Windows usando winget ou instalação manual.
Iniciar Proxy de Desenvolvimento:
devproxyConfie no certificado quando solicitado.
Usar o Dev Proxy do WSL
Quando o Dev Proxy é executado como o proxy do sistema no Windows (o comportamento padrão) e você configurou a rede WSL, os aplicativos no WSL roteiam automaticamente o tráfego por ele.
Inicie seu aplicativo no WSL como faria normalmente. O Dev Proxy intercepta solicitações HTTPS feitas por aplicativos que respeitam as configurações de proxy.
Importante
Reinicie o WSL depois de iniciar ou parar o Dev Proxy
O WSL lê as configurações de proxy de Windows quando é iniciado. Se você iniciar o Proxy de Desenvolvimento depois que o WSL já estiver em execução ou se você parar e reiniciar o Proxy de Desenvolvimento, será necessário reiniciar o WSL para que as alterações entrem em vigor:
wsl --shutdown
Em seguida, inicie uma nova sessão WSL.
Confiar no certificado em WSL
Para que o Proxy de Desenvolvimento intercepte o tráfego HTTPS, os aplicativos no WSL precisam confiar no certificado de Proxy de Desenvolvimento. Você pode copiar o certificado do Windows ou exportá-lo usando a API de Proxy de Desenvolvimento.
Opção A: copiar o certificado do Windows
No WSL, copie o certificado do Windows:
cp "/mnt/c/Users/<your-username>/AppData/Local/Programs/Dev Proxy/rootCert.pfx" ~/Exportar e instalar o certificado:
# Export the certificate openssl pkcs12 -in ~/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificates
Opção B: usar a API de Proxy de Desenvolvimento
A API do Dev Proxy exige um token de portador. Enquanto o Dev Proxy estiver em execução no Windows, obtenha o token executando o comando api token em um terminal do Windows:
devproxy api token
Em seguida, no WSL, baixe e instale o certificado. Substitua <token> pelo token que você recuperou:
# Download the certificate from Dev Proxy API
curl -H "Authorization: Bearer <token>" -o dev-proxy-ca.crt "http://127.0.0.1:8897/proxy/rootCertificate?format=crt"
# Install the certificate
sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/
# Update certificates
sudo update-ca-certificates
Observação
Alguns aplicativos podem exigir uma configuração extra para confiar no repositório de certificados do sistema. Para Node.js aplicativos, talvez seja necessário definir NODE_TLS_REJECT_UNAUTHORIZED=0 para fins de desenvolvimento. Não é recomendável desabilitar a validação de certificado para o código de produção.
Opção 2: Proxy de desenvolvimento dentro do WSL
Se você preferir executar o Proxy de Desenvolvimento inteiramente dentro do WSL, instale-o usando o método de instalação do Linux e configure o proxy manualmente.
Instalar o Proxy de Desenvolvimento no WSL
O script de instalação requer unzip para extrair o Dev Proxy. Distribuições novas do WSL, como o Ubuntu, não a incluem por padrão. Instale unzip:
sudo apt update
sudo apt install unzip
Instale o Proxy de Desenvolvimento usando o script de instalação:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Configurar o proxy manualmente
Como o WSL não tem um ambiente de área de trabalho gráfico, o Dev Proxy não pode se registrar automaticamente como o proxy do sistema. Configure seus aplicativos para usar o proxy manualmente.
Crie um arquivo de configuração do Proxy de Desenvolvimento com
asSystemProxydefinido comofalse:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json", "asSystemProxy": false, "plugins": [ { "name": "RetryAfterPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll" }, { "name": "GenericRandomErrorPlugin", "enabled": true, "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll", "configSection": "genericRandomErrorPlugin" } ], "urlsToWatch": [ "https://jsonplaceholder.typicode.com/*" ], "genericRandomErrorPlugin": { "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/genericrandomerrorplugin.schema.json", "errorsFile": "devproxy-errors.json", "rate": 50 }, "logLevel": "information" }Iniciar Proxy de Desenvolvimento:
devproxyConfie no certificado:
# Export Dev Proxy root certificate openssl pkcs12 -in ~/.config/dev-proxy/rootCert.pfx -clcerts -nokeys -out dev-proxy-ca.crt -passin pass:"" # Install the certificate sudo cp dev-proxy-ca.crt /usr/local/share/ca-certificates/ # Update certificates sudo update-ca-certificatesConfigure seu aplicativo para usar o proxy. Defina a variável de
HTTPS_PROXYambiente:export HTTPS_PROXY=http://127.0.0.1:8000Ou especifique-o ao executar seu aplicativo:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Dica
Para obter mais informações sobre como configurar o proxy para aplicativos Node.js, consulte Usar o Proxy de Desenvolvimento com aplicativos Node.js.
Comparação de abordagens
| Característica | Host do Windows (Opção 1) | Opção 2: Dentro do WSL |
|---|---|---|
| Complexidade de configuração | Simples | Moderado |
| Requirements | Windows 11 22H2 ou posterior, modo de rede espelhado WSL | None |
| Gerenciamento de certificados | Cópia única a partir do Windows | Exportação manual |
| Configuração de proxy | Automático (Proxy Automático do WSL) | Manual (HTTPS_PROXY) |
| Reinicialização do WSL necessária | Sim, ao alternar proxy | Não |
| Funciona com todos os aplicativos WSL | Yes | Depende do suporte ao proxy de aplicativo |
Para a maioria dos cenários, executar o Proxy de Desenvolvimento no Windows (Opção 1) é a abordagem recomendada devido à sua simplicidade e configuração automática de proxy.
Resolução de problemas
As solicitações não são interceptadas ao usar o host do Windows
Se o Proxy de Desenvolvimento no Windows não estiver interceptando solicitações do WSL:
Verifique se
networkingMode=mirroredeautoProxy=trueestão definidos na seção[wsl2]do arquivo.wslconfig. Para obter mais informações, consulte Configurar a rede WSL.Reinicie o WSL para atualizar as configurações de proxy:
wsl --shutdownVerifique se o Proxy de Desenvolvimento está em execução e registrado como proxy do sistema.
Verifique se o certificado de Proxy de Desenvolvimento é confiável no WSL.
unzip: comando não encontrado
Se o script de instalação falhar com o unzip: command not found erro, instale unzip e execute o script de instalação novamente:
sudo apt update
sudo apt install unzip
Erros de certificado
Se você vir erros de certificado:
- Verifique se você instalou o certificado no WSL seguindo as etapas em Confiar no certificado no WSL.
- Para Node.js aplicativos, talvez seja necessário configurar o aplicativo para usar o agente proxy. Consulte Uso do Proxy de Desenvolvimento com aplicativos Node.js.
Problemas de rede WSL
O WSL 2 usa um adaptador de rede virtualizado. Se você tiver problemas de rede:
- Verifique se o Firewall do Windows permite o Proxy de Desenvolvimento.
- Tente usar
localhostem vez de127.0.0.1ao configurar o endereço proxy.