ALL_PROXY
環境変数が非SOCKSアドレスに設定されている場合、代わりに無視する必要があるときにproxy: unknown scheme: http
になります。
go version
)?go env
)?ALL_PROXY
環境変数を設定し、Docker Toolboxを実行してみます(例: docker run hello-world
ALL_PROXY
環境変数を無視する必要がありますALL_PROXY
環境変数が無視されないため、Dockerは機能しません。 エラーはhttps://github.com/golang/net/blob/master/proxy/proxy.go#L93までさかのぼることができ回避策:エラーが発生したときにunset ALL_PROXY
を実行します。
100%確信はありませんが、 ALL_PROXY
をhttp
またはhttps
プロトコルに設定しても意味がありますか? プロキシを通過したい非HTTPのトラフィックが存在する可能性があります。
これがまだ開いているなんて信じられない。
@nathanleclaire自分でダイヤラタイプを登録する必要があると思います: https : //godoc.org/golang.org/x/net/proxy#RegisterDialerType
こことここでもっと読む:
http://blog.ralch.com/articles/network-programming-and-proxies-in-golang/
https://gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b
しかし、TCPダイヤラのプロキシを設定しようとしているのかどうかもわかりません。 HTTPクライアントの変更は非常に簡単です。
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}
ただし、 net.Dial
とnet.DialTimeout
は、SOCKS5以外のプロキシスキームでは簡単ではありません。
最も参考になるコメント
これがまだ開いているなんて信じられない。