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-proxys-in-golang/
https://gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b
๊ทธ๋ฌ๋ ๋๋ ๋ํ ํ์คํ์ง ์๊ณ TCP ๋ค์ด์ผ๋ฌ์ ๋ํ ํ๋ก์๋ฅผ ์ค์ ํ๋ ค๊ณ ์๋ํ๋ ์ค์
๋๋ค. HTTP ํด๋ผ์ด์ธํธ ์์ ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}
๊ทธ๋ฌ๋ net.Dial
๋ฐ net.DialTimeout
๊ฒ์ SOCKS5๊ฐ ์๋ ํ๋ก์ ์ฒด๊ณ์์ ๋ ๊ฐ๋จํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ ์์ง ์ด๋ ค์๋ค๋ ๋ฏฟ๊ธฐ์ง๊ฐ ์๋ค์.