GOPROXY versus HTTP_PROXY: origem do módulo e proxy de encaminhamento
Mantenha separada a seleção da origem dos módulos pelo Go da rota do proxy de encaminhamento usada para alcançar essa origem.
GOPROXY seleciona um serviço de download de módulos Go. HTTP_PROXY e HTTPS_PROXY selecionam um intermediário de rede usado para chegar a um destino. Um proxy HTTP genérico normalmente não implementa a API de metadados e arquivos do serviço de módulos.
Política da origem dos módulos
go env GOPROXY GOPRIVATE GONOPROXY
Esses valores descrevem de onde o Go obtém os módulos. GONOPROXY seleciona caminhos de módulos que ignoram o serviço de módulos. Da mesma forma, GOPROXY=direct solicita acesso ao controle de versão para módulos; não desativa as variáveis de proxy HTTP para todas as conexões.
A rota de rede
Uma chamada em shell POSIX pode fornecer um proxy de encaminhamento independentemente da origem do módulo:
HTTPS_PROXY=http://203.0.113.10:8080 go mod download
Substitua o endpoint de documentação e mantenha o valor pretendido de GOPROXY. Para downloads de módulos públicos autorizados a usar proxies HTTP públicos, escolha um candidato em a lista de proxies HTTP. Use NO_PROXY para destinos de transporte HTTP que devem continuar diretos.
Dependendo da política de módulos, os downloads podem contatar um serviço de módulos, um serviço de checksum, um host de artefatos ou um servidor de controle de versão. Quando uma solicitação falhar, identifique tanto a origem escolhida pelo Go quanto a rota usada para alcançar aquele host específico. A consulta go env sozinha não mostra todas as variáveis de ambiente do proxy nem prova qual conexão o download abriu.