Configurando proxies para npm, yarn e pnpm
Introdução
Os gerenciadores de pacotes do Node.js (npm, yarn, pnpm) baixam pacotes do registry do npm. Em uma rede corporativa ou ao usar um proxy para anonimato, é necessário configurar um proxy para que esses gerenciadores de pacotes funcionem corretamente.
Configuração básica
npm
npm config set proxy http://proxy_ip:port
npm config set https-proxy http://proxy_ip:port
Com autenticação:
npm config set proxy http://user:pass@proxy_ip:port
Verificação:
npm config get proxy
Remoção:
npm config delete proxy
npm config delete https-proxy
yarn
yarn config set proxy http://proxy_ip:port
yarn config set https-proxy http://proxy_ip:port
pnpm
pnpm config set proxy http://proxy_ip:port
pnpm config set https-proxy http://proxy_ip:port
Como alternativa, via variáveis de ambiente: HTTP_PROXY, HTTPS_PROXY — isso funciona para os três gerenciadores.
Configuração avançada
Variáveis de ambiente
A maioria das ferramentas suporta as variáveis de ambiente padrão para proxies:
- HTTP_PROXY / http_proxy — proxy para requisições HTTP
- HTTPS_PROXY / https_proxy — proxy para requisições HTTPS
- NO_PROXY / no_proxy — lista de exceções (endereços que ignoram o proxy)
- ALL_PROXY / all_proxy — proxy para todos os protocolos
SSL e certificados autoassinados
Proxies corporativos costumam usar seus próprios certificados SSL. Para trabalhar através deles, você precisa:
1. Obter o certificado CA do proxy com o administrador
2. Adicioná-lo ao repositório de certificados do seu sistema
3. Ou desativar a verificação SSL (apenas para testes)
Autenticação
Dois métodos principais de autenticação são suportados:
Usuário e senha — autenticação HTTP Basic padrão. As credenciais são enviadas em cada requisição. Formato da URL: http://user:pass@proxy_ip:port
Por endereço IP (whitelist) — seu IP é adicionado a uma lista branca. Não é necessário enviar credenciais.
Verificando a configuração
Depois de configurar, verifique:
1. Faça uma requisição de teste através do proxy
2. Confirme que seu endereço IP mudou
3. Verifique a velocidade da conexão
4. Confirme que não há vazamentos de DNS
Solução de problemas
O proxy não conecta
- Verifique se o endereço e a porta estão corretos
- Confirme que seu firewall não está bloqueando a conexão
- Verifique a acessibilidade do proxy a partir da sua rede
Erros de SSL
- Para proxies corporativos, adicione o certificado CA
- Para testes, desative temporariamente a verificação SSL
- Atualize as bibliotecas SSL para a versão mais recente
Erros de autenticação
- Verifique seu usuário e senha
- Confirme que o formato das credenciais está correto
- Tente codificar em URL os caracteres especiais da senha
Boas práticas
- Use variáveis de ambiente — para flexibilidade e segurança
- Evite credenciais fixas no código — use variáveis de ambiente ou arquivos de configuração
- Configure exceções — não passe localhost e endereços internos pelo proxy
- Documente as configurações — no README do projeto ou no wiki do time
- Teste após alterações — qualquer mudança de configuração exige verificação
Conclusão
A configuração correta do proxy garante o funcionamento estável das ferramentas e conexões seguras. Siga as recomendações deste guia e sempre verifique o funcionamento após a configuração.
