{"meta":{"title":"Utilizando servidores proxy com um executor","intro":"Você pode configurar executores em ambientes isolados para usar um servidor proxy para comunicação segura com GitHub.","product":"GitHub Actions","breadcrumbs":[{"href":"/pt/actions","title":"GitHub Actions"},{"href":"/pt/actions/how-tos","title":"Instruções"},{"href":"/pt/actions/how-tos/manage-runners","title":"Gerenciar corredores"},{"href":"/pt/actions/how-tos/manage-runners/use-proxy-servers","title":"Usar servidores proxy"}],"documentType":"article"},"body":"# Utilizando servidores proxy com um executor\n\nVocê pode configurar executores em ambientes isolados para usar um servidor proxy para comunicação segura com GitHub.\n\n## Configurando um proxy para executores do Linux e do Windows\n\nSe o executor precisar se comunicar por meio de um servidor proxy, você poderá definir configurações de proxy usando variáveis de ambiente ou configurações no nível do sistema.\n\n| Variable      | Description                                                                                           | Example                                                                                     |\n| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `https_proxy` | URL de proxy para tráfego HTTPS. Você pode incluir a autenticação básica, se necessário.                        | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `http_proxy`  | URL de proxy para tráfego HTTP. Você pode incluir a autenticação básica, se necessário.                         | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `no_proxy`    | Uma lista separada por vírgulas de hosts ou endereços IP que devem ignorar o proxy. Alguns clientes só respeitam endereços IP quando as conexões são feitas diretamente com o IP em vez de um nome de host. | `example.com`<br>`example.com,myserver.local:443,example.org`                               |\n\nAs variáveis de ambiente de proxy são lidas quando o aplicativo executor é iniciado, portanto, você deve definir as variáveis de ambiente antes de configurar ou iniciar o aplicativo executor. Se a configuração do proxy for alterada, você deverá reiniciar o aplicativo executor.\n\nEm computadores Windows, os nomes das variáveis de ambiente proxy não diferenciam maiúsculas de minúsculas. Nos sistemas Linux e macOS, recomendamos que você use variáveis de ambiente em minúscula. Caso tenha uma variável de ambiente em letras minúsculas e maiúsculas no Linux ou macOS (por exemplo, `https_proxy` e `HTTPS_PROXY`), o aplicativo executor auto-hospedado usará a variável de ambiente em minúsculas.\n\nA conexão entre executores auto-hospedados e GitHub ocorre em HTTPS (porta 443). \n\n> [!WARNING]\n> Os executores auto-hospedados não oferecem suporte ao uso de endereços IP e intervalos CIDR na variável de ambiente `no_proxy`. Se sua instância de GitHub Enterprise Server usar um endereço IP e você configurar o `no_proxy` para contornar o proxy desse endereço, o runner ainda assim falhará ao tentar se conectar.\n> Se sua instância GitHub Enterprise Server for acessada usando um endereço IP, e a conexão precisar ignorar o proxy, o executor não conseguirá se conectar, mesmo que esse endereço IP esteja listado em `no_proxy`.\n\n### Configurações de exemplo\n\n> [!NOTE]\n> Para evitar problemas, é uma boa prática tratar as variáveis de ambiente como com diferenciação de maiúsculas e minúsculas, independentemente do comportamento do sistema operacional e do shell que você está usando.\n\n#### Linux e macOS\n\nDefina variáveis de ambiente de proxy para o executor.\n\n```shell copy\nexport https_proxy=http://proxy.local:8080\nexport http_proxy=http://proxy.local:8080\nexport no_proxy=example.com,localhost,127.0.0.1\n```\n\n#### Windows\n\nNo Windows, você pode definir configurações de proxy definindo variáveis de ambiente ou usando o [comando netsh](https://learn.microsoft.com/en-us/windows/win32/winhttp/netsh-exe-commands#set-advproxy).\nA abordagem netsh se aplica a aplicativos e serviços que dependem da API WinHTTP.\n\nA definição de variáveis de ambiente ainda é necessária para corredores que usam rede privada. Se você também precisa configurar o netsh depende dos aplicativos usados em seus fluxos de trabalho.\n\n```shell copy\nnetsh winhttp set advproxy setting-scope=machine settings={\\\"Proxy\\\":\\\"proxy.local:8080\\\",\\\"ProxyBypass\\\":\\\"168.63.129.16;169.254.169.254\\\",\\\"AutoconfigUrl\\\":\\\"\\\",\\\"AutoDetect\\\":false} \n```\n\nAo configurar isso durante a geração de imagem personalizada, use `setting-scope=machine` para garantir que as configurações de proxy persistam após reinicializações e durante a geração de imagens de VM.\n\n### Tornando as configurações de proxy persistentes\n\nAo definir essas variáveis de ambiente durante a geração de imagem personalizada, verifique se a configuração persiste entre reinicializações ou recompilações de imagem.\n\n#### Linux e macOS\n\nEscreva as variáveis em `/etc/environment`.\n\n```shell\n echo 'http_proxy=http://proxy.local' >> /etc/environment\n```\n\n#### Windows\n\nDefina as variáveis de ambiente em todo o sistema.\n\n```shell copy\n[Environment]::SetEnvironmentVariable(\"http_proxy\", \"http://proxy.local\", \"Machine\")\n```\n\n## Configurando um proxy para executores do Azure\n\nSe o executor estiver hospedado no Azure, seja como um executor auto-hospedado ou um executor maior hospedado no GitHub implantado com rede privada, talvez seja necessário configurar um proxy para permitir a conectividade de saída com os serviços do GitHub, mantendo o isolamento de rede.\n\nVocê deve adicionar os IPs de gerenciamento e metadados do Azure à sua `no_proxy` lista para garantir que o executor possa acessar os serviços necessários do Azure. Esses pontos de extremidade permitem que as VMs do Azure recuperem as informações de configuração e identidade necessárias para a operação adequada.\n\nOs dois IPs do Azure são:\n* 168.63.129.16 (confira [a visão geral do endereço IP do Azure 168.63.129.16](https://learn.microsoft.com/en-us/azure/virtual-network/what-is-ip-address-168-63-129-16?tabs=linux))\n* 169.254.169.254 (consulte o [Serviço de Metadados de Instância do Azure](https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux))\n\n## Usar um arquivo .env para definir a configuração de proxy\n\n> [!NOTE]\n> O uso de um `.env` arquivo para definir a configuração de proxy não pode ser feito em um executor hospedado pelo GitHub.\n\nEm executores auto-hospedados, você pode definir as configurações de proxy adicionando as variáveis a um `.env` arquivo no diretório do aplicativo executor auto-hospedado (o diretório em que você baixou e desempacotou o software executor). Essa abordagem é útil quando o executor está configurado para ser executado como um serviço em uma conta do sistema. Quando o runner inicia, ele lê as variáveis definidas em `.env` para a configuração do proxy.\n\n### Exemplo de configuração de proxy `.env`\n\n```shell copy\nhttps_proxy=http://proxy.local:8080\nno_proxy=example.com,myserver.local:443\n```\n\n## Definir configuração de proxy para contêineres Docker\n\nSe você usar ações do contêiner Dock ou contêineres de serviço nos seus fluxos de trabalho, você também deverá configurar o Docker para usar o seu servidor proxy além de definir as variáveis do ambiente acima.\n\nPara obter informações sobre a configuração necessária do Docker, confira [Configurar o Docker para usar um servidor proxy](https://docs.docker.com/network/proxy/) na documentação do Docker."}