Se a variável de ambiente ALL_PROXY
for definida como um endereço não SOCKS, isso resultará em proxy: unknown scheme: http
quando, em vez disso, deveria ignorá-lo.
go version
)?go env
)?ALL_PROXY
definida e tente executar o Docker Toolbox, por exemplo, docker run hello-world
ALL_PROXY
ALL_PROXY
não é ignorada. O erro pode ser rastreado até https://github.com/golang/net/blob/master/proxy/proxy.go#L93.Solução alternativa: execute unset ALL_PROXY
ao obter um erro.
Não tenho 100% de certeza, mas você tem certeza de que definir ALL_PROXY
para um protocolo http
ou https
faz sentido? Pode haver tráfego não HTTP que deseja passar pelo proxy.
Eu não posso acreditar que isso ainda está aberto.
@nathanleclaire Acho que você mesmo deve registrar o Tipo de discador: https://godoc.org/golang.org/x/net/proxy#RegisterDialerType
Leia mais aqui e aqui:
http://blog.ralch.com/articles/network-programming-and-proxies-in-golang/
https://gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b
Mas também não tenho certeza e estou tentando configurar um proxy para discadores TCP. As modificações do cliente HTTP são muito fáceis:
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}
Mas usar net.Dial
e net.DialTimeout
é menos direto com um esquema de proxy não SOCKS5.
Comentários muito úteis
Eu não posso acreditar que isso ainda está aberto.