Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
De relance
Objetivo: Utilize o Dev Proxy com o Windows Subsystem para Linux (WSL)
Tempo: 15 minutos
Pré-requisitos:Configurar Dev Proxy, WSL instalado
Ao desenvolver aplicações em WSL (Windows Subsystem for Linux), tem duas opções para usar o Dev Proxy: executá-lo no seu host Windows ou dentro do WSL. Ambas as abordagens têm as suas vantagens dependendo do seu fluxo de trabalho de desenvolvimento.
Opção 1: Proxy de Desenvolvimento no host Windows (recomendado)
A abordagem mais simples é instalar e executar Dev Proxy no Windows. O WSL usa automaticamente o proxy do sistema Windows, pelo que as aplicações a correr em WSL têm o seu tráfego intercetado pelo Dev Proxy sem configuração adicional.
Configurar o Proxy de Desenvolvimento no Windows
Instala o Proxy de Desenvolvimento no Windows usando o Winget ou instalação manual.
Inicie o Dev Proxy:
devproxyConfie no certificado quando solicitado.
Usa o Proxy de Desenvolvimento do WSL
Quando o Proxy de Desenvolvimento corre como proxy do sistema no Windows (o comportamento padrão), as aplicações em WSL encaminham automaticamente o seu tráfego através dele.
Começa a tua candidatura no WSL como farias normalmente. O Proxy de desenvolvimento interceta pedidos HTTPS feitos pela sua aplicação.
Importante
Reiniciar o WSL depois de iniciar ou parar o Dev Proxy
O WSL armazena em cache as definições do proxy do sistema. Se iniciar o Dev Proxy depois de o WSL já estar a correr, ou se parar e reiniciar o Dev Proxy, precisa de reiniciar o WSL para que as alterações tenham efeito:
wsl --shutdown
Depois começa uma nova sessão de WSL.
Confie no certificado em WSL
Para que o Proxy de Desenvolvimento intercete o tráfego HTTPS, as aplicações em WSL precisam de confiar no certificado do Proxy de Desenvolvimento. Podes copiar o certificado do Windows ou exportá-lo usando a API Dev Proxy.
Opção A: Copiar o certificado do Windows
No WSL, copie o certificado do Windows:
cp /mnt/c/Users/<your-username>/.config/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 do Proxy de Desenvolvimento
Enquanto o Proxy de Desenvolvimento estiver a correr no Windows, descarregue e instale o certificado:
# Download the certificate from Dev Proxy API
curl -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
Algumas aplicações podem exigir configuração extra para confiar no armazenamento de certificados do sistema. Para Node.js aplicações, pode ser necessário definir NODE_TLS_REJECT_UNAUTHORIZED=0 para fins de desenvolvimento. Desativar a validação de certificados não é recomendado para código de produção.
Opção 2: Proxy de desenvolvimento dentro do WSL
Se preferires correr o Proxy de Desenvolvimento inteiramente dentro do WSL, instala-o usando o método de instalação do Linux e configura o proxy manualmente.
Instalar o Proxy de Desenvolvimento no WSL
Instale o Dev Proxy usando o script de configuração:
bash -c "$(curl -sL https://aka.ms/devproxy/setup.sh)"
Configure o proxy manualmente
Como o WSL não tem um ambiente gráfico de ambiente de trabalho, o Dev Proxy não pode registar-se automaticamente como proxy do sistema. Configura as tuas aplicações para usarem o proxy manualmente.
Crie um ficheiro de configuração Dev Proxy com
asSystemProxydefinido parafalse:{ "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.4.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/v2.4.0/genericrandomerrorplugin.schema.json", "errorsFile": "devproxy-errors.json" }, "rate": 50, "logLevel": "information" }Inicie o Dev Proxy:
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-certificatesConfigura a tua aplicação para usar o proxy. Defina a variável de
HTTPS_PROXYambiente:export HTTPS_PROXY=http://127.0.0.1:8000Ou especifique-o ao executar a sua aplicação:
HTTPS_PROXY=http://127.0.0.1:8000 node app.js
Sugestão
Para mais informações sobre como configurar o proxy para Node.js aplicações, veja Usar Proxy de Desenvolvimento com Node.js aplicações.
Comparação de abordagens
| Característica | Host Windows (Opção 1) | Dentro da WSL (Opção 2) |
|---|---|---|
| Complexidade da configuração | Simples | Moderado |
| Gestão de certificados | Cópia única a partir do Windows | Exportação manual |
| Configuração do proxy | Automático (proxy do sistema) | Manual (HTTPS_PROXY) |
| Reinício da WSL é necessário | Sim, ao alternar o proxy | Não |
| Funciona com todas as aplicações WSL | Yes | Depende do suporte para proxy de aplicativo |
Para a maioria dos cenários, correr Dev Proxy no Windows (Opção 1) é a abordagem recomendada devido à sua simplicidade e configuração automática do proxy.
Solução de problemas
Os pedidos não são interceptados ao usar o host do Windows
Se o Dev Proxy no Windows não interceptar pedidos do WSL:
Reiniciar o WSL para atualizar as definições do proxy:
wsl --shutdownVerifique se o Proxy de Desenvolvimento está a correr e registado como proxy do sistema.
Verifica se o certificado Dev Proxy é confiável no WSL.
Erros de certificado
Se vir erros de certificado:
- Certifique-se de que instalou o certificado no WSL seguindo os passos em Confiar no certificado no WSL.
- Para Node.js aplicações, pode ser necessário configurar a aplicação para usar o agente proxy. Veja Utilizar o Proxy de Dev com aplicações Node.js.
Problemas de rede na WSL
O WSL 2 utiliza um adaptador de rede virtualizado. Se tiver problemas de rede:
- Assegure-se de que o seu firewall do Windows permite o Dev Proxy.
- Tente usar
localhostem vez de127.0.0.1quando configurar o endereço proxy.