Configuração de proxy no Windows e no Chrome

Publicado:

14 min de leitura

Acar Diveroli
Autor: Acar Diveroli
Um computador conectado a um painel de configurações com chaves, que por sua vez se conecta a uma janela de navegador

Se você procurar nas configurações do Chrome um campo para digitar o endereço de um proxy, não vai encontrar. No Windows, o Chrome não guarda uma configuração de proxy própria; ele lê a configuração de proxy do sistema operacional, e o link em Configurações > Sistema leva direto à tela de configurações do Windows. Por isso "configuração de proxy do Chrome" costuma significar "configuração de proxy do Windows", e uma mudança ali também afeta outros programas que usam a configuração do sistema, do Edge a alguns aplicativos de desktop.

Neste artigo, explicamos de onde o Chrome pega a configuração de proxy, como configurar um proxy passo a passo no Windows 11 e o que acontece com proxies que exigem usuário e senha. Depois, vemos os métodos pela linha de comando (incluindo a diferença, muito confundida, entre netsh winhttp e setx HTTP_PROXY), como abrir o Chrome uma vez com outro proxy, como desligar o proxy e como resolver as mensagens de erro mais comuns.

De onde o Chrome pega a configuração de proxy?

O documento de configurações de rede do projeto Chromium diz claramente que o Chrome usa as configurações do sistema para ajustes de rede como proxy. A ideia é que usuários e administradores possam gerenciar as configurações de rede de todos os aplicativos em um só lugar. No Windows, esse lugar é a tela de proxy do aplicativo Configurações.

O Chrome decide qual configuração de proxy usar nesta ordem de prioridade:

  1. Política corporativa. Se o computador é gerenciado por uma organização e o proxy é definido por política, o Chrome usa essa configuração; o usuário não consegue mudá-la.
  2. Extensão. Se houver uma extensão de gerenciamento de proxy instalada, ela controla a configuração. As configurações do Chrome mostram um aviso como "Esta configuração é controlada por uma extensão".
  3. Parâmetro de inicialização. Se o Chrome foi aberto com o parâmetro --proxy-server ou --no-proxy-server, essa sessão usa essa configuração.
  4. Configuração do sistema Windows. Se nada disso se aplicar, o Chrome lê a configuração de proxy do Windows.

Para entender por que um proxy não se comporta como esperado no Chrome, olhe primeiro essa ordem. O Firefox, por outro lado, pode ter configuração de proxy própria; a configuração dele está em Configuração de proxy no Firefox.

Como configurar proxy no Windows 11?

Os passos abaixo seguem o fluxo da página de suporte da Microsoft Usar um servidor proxy no Windows. Alguns nomes podem variar conforme a versão do Windows e o pacote de idioma.

  1. Clique com o botão direito no menu Iniciar e abra Configurações, ou pressione Windows + I.
  2. Selecione Rede e Internet no menu à esquerda.
  3. Abra a seção Proxy no final da página.
  4. Clique em Configurar ao lado de Configuração manual de proxy. Em algumas versões, aparece direto uma chave em vez deste passo.
  5. Ative Usar um servidor proxy.
  6. Digite o endereço do servidor (pr.proxynet.io) em Endereço IP do proxy e a porta (8000) em Porta.
  7. Se quiser, adicione na lista abaixo os endereços que não devem passar pelo proxy, separados por ponto e vírgula, por exemplo localhost;127.0.0.1;*.company.local.
  8. Marque Não usar o servidor proxy para endereços locais (intranet) se você tiver serviços de rede interna.
  9. Clique em Salvar.

A mesma tela tem mais duas opções. Detectar configurações automaticamente usa a configuração automática se a sua rede oferecer uma; fora de redes corporativas, geralmente pode ficar desligada. Usar script de instalação pede o endereço de um arquivo PAC; é usada em ambientes corporativos em que regras definem qual endereço passa por qual proxy.

Depois de salvar, geralmente não é preciso reiniciar o Chrome, mas as conexões das abas abertas podem ter sido feitas com a configuração antiga. Abra uma página de verificação de IP em uma aba nova para testar.

O que acontece com um proxy com autenticação?

A tela de proxy do Windows não tem campos de usuário e senha. Quando você configura um proxy que exige usuário e senha:

  1. O Chrome envia a primeira requisição ao proxy.
  2. O proxy retorna uma resposta 407 Proxy Authentication Required.
  3. O Chrome mostra uma janela de login pedindo usuário e senha.
  4. Depois que você digita, o Chrome lembra as credenciais durante a sessão e envia as próximas requisições autenticadas.

Essa abordagem tem dois limites. Primeiro, a janela pode voltar toda vez que você fecha e abre o Chrome. Segundo, aplicativos de desktop e serviços em segundo plano que leem a configuração de proxy do sistema, mas não conseguem mostrar essa janela, não vão conseguir se conectar.

O jeito mais limpo de contornar esses limites é o método de whitelist de IP: você adiciona o IP público do seu computador à lista de permitidos no painel e o proxy não pede senha. Se o IP da sua casa muda com frequência, esse método também dá problema. A nossa comparação em Autenticação de proxy: user:pass ou whitelist de IP explica qual se encaixa em cada situação.

O Chrome não suporta autenticação com usuário e senha para proxies SOCKS5. Se quiser usar SOCKS5 com o Chrome, você precisa de whitelist de IP.

Como configurar proxy pela linha de comando?

Há três formas diferentes de definir um proxy pela linha de comando do Windows, e elas afetam programas diferentes. Essa distinção é a parte mais ignorada do assunto.

MétodoO que ele afeta?Afeta o Chrome?Uso típico
Configurações do Windows (proxy do usuário)Chrome, Edge e aplicativos que leem a configuração do sistemaSimUso diário do navegador
netsh winhttp set proxyServiços que usam WinHTTP (como o Windows Update)NãoServidores e serviços em segundo plano
setx HTTPS_PROXYFerramentas de linha de comando que leem variáveis de ambienteNãocURL, Git, Python, Node.js, npm
Chrome --proxy-serverSó aquela sessão do ChromeSim, só aquela sessãoTestes, uso pontual

netsh winhttp: afeta serviços, não o navegador

O comando netsh winhttp muda a configuração de proxy dos programas que usam a biblioteca WinHTTP do Windows. O WinHTTP é usado por serviços que rodam sem sessão de usuário e por alguns componentes do sistema. A documentação do netsh winhttp da Microsoft traz a sintaxe do comando:

powershell
# Definir o proxy do WinHTTP (em um terminal aberto como administrador)
netsh winhttp set proxy pr.proxynet.io:8000 "<local>"

# Mostrar a configuração atual do WinHTTP
netsh winhttp show proxy

# Remover o proxy do WinHTTP
netsh winhttp reset proxy

Rodar esse comando e ver que o seu IP no Chrome não mudou é muito comum. Isso acontece porque o Chrome lê o proxy do usuário da tela Configurações, não a configuração do WinHTTP. Use netsh winhttp só quando um serviço do Windows precisar passar pelo proxy.

setx: variáveis de ambiente para ferramentas de linha de comando

A maioria dos programas de linha de comando, como cURL, Git, bibliotecas Python e ferramentas do Node.js, lê o proxy das variáveis de ambiente HTTP_PROXY e HTTPS_PROXY. O setx grava essas variáveis permanentemente na conta do usuário:

powershell
setx HTTPS_PROXY "http://user:pass@pr.proxynet.io:8000"
setx HTTP_PROXY "http://user:pass@pr.proxynet.io:8000"
setx NO_PROXY "localhost,127.0.0.1"

Três detalhes importantes:

  • O setx aplica a variável aos terminais abertos depois. A janela em que você rodou o comando continua usando o valor antigo.
  • O Chrome e as Configurações do Windows não leem essas variáveis.
  • A senha fica em texto puro na variável de ambiente e pode ser lida por outros programas do computador. Em computadores compartilhados, prefira whitelist de IP. Se a senha tiver caracteres como @, eles precisam ser codificados (@%40).

Se você só quer um valor temporário para a sessão de terminal aberta, basta digitar $env:HTTPS_PROXY = "..." no PowerShell; o valor some quando a janela fecha. Para testar um proxy na linha de comando, veja Como usar proxy com cURL.

Definir o proxy do usuário com PowerShell

O proxy do usuário da tela Configurações fica guardado no registro. Para aplicar a mesma configuração rapidamente em vários computadores, você pode usar o PowerShell:

powershell
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $path -Name ProxyServer -Value "pr.proxynet.io:8000"
Set-ItemProperty -Path $path -Name ProxyOverride -Value "localhost;127.0.0.1;<local>"
Set-ItemProperty -Path $path -Name ProxyEnable -Value 1

A mudança também aparece na tela Configurações. Aplicativos abertos podem precisar ser reiniciados para pegar a configuração nova. Em ambientes corporativos, o mesmo trabalho é feito com Política de Grupo ou ferramentas de gerenciamento de dispositivos; uma mudança manual pode ser revertida pela política.

Abrir o Chrome uma vez com outro proxy

Quando você quer que só uma janela do Chrome passe por um proxy, sem afetar o resto do sistema, use parâmetros de inicialização. Os parâmetros definidos no documento do Chromium são:

  • --proxy-server="endereço:porta" define um único proxy para todo o tráfego. Para SOCKS5, usa-se a forma socks5://endereço:porta.
  • --proxy-bypass-list="localhost;127.0.0.1" define endereços que não devem passar pelo proxy.
  • --no-proxy-server desliga o proxy independentemente da configuração do sistema.
  • --proxy-pac-url="http://.../proxy.pac" usa um arquivo PAC.

Há uma armadilha importante: se o Chrome já estiver aberto, um novo comando de inicialização adiciona uma janela à instância em execução e os parâmetros são ignorados. Para evitar isso, informe uma pasta de perfil separada:

powershell
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --proxy-server="http://pr.proxynet.io:8000" `
  --proxy-bypass-list="localhost;127.0.0.1" `
  --user-data-dir="$env:TEMP\chrome-proxy-profile"

Graças ao --user-data-dir, essa janela abre com um perfil totalmente separado do Chrome que você usa todo dia: cookies, histórico e extensões separados. Usando pastas diferentes para localizações diferentes, você pode ter várias janelas do Chrome abertas ao mesmo tempo com proxies diferentes.

O parâmetro --proxy-server não aceita usuário e senha. Se o proxy exigir senha, aparece uma janela de login na primeira requisição. Se você usa essa configuração com frequência, pode colocar o comando em um atalho na área de trabalho.

Se quiser gerenciar de dentro do navegador que sites diferentes passem por proxies diferentes, a extensão SwitchyOmega é uma opção mais prática. A opção de rotear aplicativos de desktop sem configuração de proxy está em Proxifier.

Como desligar o proxy?

Desligue o proxy com o mesmo método usado para ligá-lo:

  • Configurações do Windows: em Rede e Internet > Proxy > Configuração manual de proxy, clique em Editar, desative Usar um servidor proxy e salve.
  • Se você configurou pelo registro: Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
  • WinHTTP: netsh winhttp reset proxy
  • Variáveis de ambiente: setx HTTPS_PROXY "" deixa a variável vazia, mas não a apaga. Para remover completamente, no PowerShell:
powershell
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", $null, "User")
  • Parâmetro do Chrome: basta fechar a janela aberta com o parâmetro; o seu Chrome normal não é afetado.
  • Extensão: mude para "conexão direta" na tela da extensão ou desative-a.

Se você não consegue acessar a internet depois de desligar o proxy, outra fonte (uma extensão, uma política ou um software de VPN/proxy instalado) pode estar gravando a configuração de novo.

Problemas comuns e soluções

Erro ou sintomaCausa provávelSolução
ERR_PROXY_CONNECTION_FAILED ("Há algo errado com o servidor proxy")Endereço ou porta errados, proxy fora do ar ou a rede bloqueia a porta do proxyCompare endereço e porta com o painel; teste o acesso com Test-NetConnection pr.proxynet.io -Port 8000
ERR_TUNNEL_CONNECTION_FAILEDO proxy não conseguiu abrir o túnel HTTPS; porta de protocolo errada ou janela de senha canceladaConfira se é a porta do proxy HTTP; digite de novo as credenciais na janela
ERR_NO_SUPPORTED_PROXIESTipo de proxy não suportado, como SOCKS5 com senhaUse whitelist de IP para SOCKS5 ou mude para um proxy HTTP
A janela de senha abre sem pararUsuário ou senha erradosGaranta que nenhum espaço foi copiado do painel
"Suas configurações são gerenciadas pela sua organização"O proxy é definido por política corporativaConfira as políticas de proxy em chrome://policy; fale com a sua equipe de TI
O endereço IP não mudaFoi usado netsh winhttp ou uma extensão sobrepõe a configuraçãoUse o proxy do usuário da tela Configurações; confira as extensões
Proxy desligado, mas sem internetOutro programa grava a configuração de novoConfira softwares de proxy/VPN instalados e extensões
Alguns sites abrem, mas serviços locais nãoEndereços internos são enviados ao proxyAdicione os endereços internos à lista de exceções

Mesmo com o proxy funcionando, o navegador pode revelar o seu IP real por WebRTC ou consultas DNS. A correção no Chrome com a política WebRtcIPHandling e o método de teste estão em Vazamentos de WebRTC e DNS.

Casos de uso

  • Ver um site de outro país no navegador: o proxy do sistema nas Configurações do Windows ou um parâmetro pontual do Chrome. Para ver como uma conexão doméstica real, usa-se um Proxies residenciais.
  • Comparar duas localizações lado a lado no mesmo computador: duas janelas do Chrome com pastas --user-data-dir diferentes e valores --proxy-server diferentes.
  • Uma conta logada com o mesmo IP por dias: o proxy do sistema ou um perfil separado, com um Proxies ISP que mantém um endereço fixo.
  • Passar ferramentas de linha de comando pelo proxy: variáveis de ambiente com setx; para tráfego web, um Proxies HTTPS.
  • Um serviço do Windows que precisa passar pelo proxy: netsh winhttp set proxy.
  • A mesma configuração no celular: os passos para iPhone estão em Configuração de proxy no iPhone.

Guia de decisão

Sua necessidadeRecomendação
Passar Chrome e Edge pelo proxyConfigurações do Windows > Proxy
Só uma sessão do Chrome--proxy-server + --user-data-dir
Proxies diferentes por siteUma extensão como o SwitchyOmega
cURL, Git, Python, Node.jsVariáveis de ambiente HTTP_PROXY / HTTPS_PROXY
Serviços do Windows, Windows Updatenetsh winhttp set proxy
A mesma configuração em vários computadoresRegistro via PowerShell ou Política de Grupo
O proxy pede senha e você não quer a janelaWhitelist de IP
SOCKS5 com ChromeSOCKS5 com whitelist de IP

Perguntas frequentes

O Chrome pode ter uma configuração de proxy independente do Windows?

A tela de configurações do Chrome não tem esse campo. Para um proxy independente do Windows, você pode iniciar o Chrome com o parâmetro --proxy-server ou usar uma extensão de gerenciamento de proxy. Nenhuma das duas opções afeta os outros aplicativos do sistema.

A configuração de proxy do Windows afeta todos os aplicativos?

Não. Afeta os aplicativos que leem a configuração do sistema: Chrome, Edge e programas que usam os componentes de rede do Windows. Aplicativos com configuração de rede própria (o Firefox com a configuração própria selecionada, muitos clientes de jogos) e ferramentas de linha de comando que leem variáveis de ambiente não são afetados.

A Microsoft Store ou o Windows Update não funcionam com o proxy ligado. Por quê?

Alguns desses componentes usam a configuração do WinHTTP ou a da conta do sistema e não conseguem mostrar a janela de senha do proxy do usuário. Se você usa um proxy com senha, mudar para whitelist de IP ou fazer essas atualizações com o proxy desligado resolve.

A minha configuração de proxy muda sozinha. Por quê?

Uma extensão, um software de VPN ou proxy instalado, uma política corporativa ou um software indesejado pode estar regravando a configuração. Confira a página chrome://policy, as extensões do Chrome e os programas instalados. Se aparecer um endereço de proxy que você não reconhece, recomendamos fazer uma verificação de segurança.

Como sei se o Chrome está realmente usando o proxy?

Abra uma página de verificação de IP com o proxy ligado e desligado e compare os dois resultados. Se aparecerem endereços diferentes, o proxy está ativo. Para ver qual configuração de proxy o Chrome está usando, digite chrome://net-internals/#proxy na barra de endereços.

Uso proxy permanente ou pontual?

Se toda a sua navegação passa por proxy, a configuração permanente do sistema é prática. Se você só usa o proxy em alguns trabalhos, uma sessão pontual do Chrome com perfil separado dá menos problema para o seu navegador do dia a dia.

Em resumo

No Windows, o Chrome pega a configuração de proxy do sistema operacional, então a configuração permanente é feita na tela Configurações > Rede e Internet > Proxy. O netsh winhttp afeta serviços, não o navegador, e o setx HTTPS_PROXY afeta ferramentas de linha de comando. Para uma única sessão do Chrome, use o parâmetro --proxy-server com uma pasta --user-data-dir separada. Se não quiser lidar com a janela de senha, prefira whitelist de IP e teste vazamentos de WebRTC depois de configurar. Para entender como os proxies funcionam em geral, veja O que é um servidor proxy e como ele funciona?; para planos adequados ao uso no navegador, conheça os nossos serviços de proxy.