Я пытаюсь установить локальный адрес http-запроса следующим образом:
localAddr, err := net.ResolveIPAddr("ip6", laddr)
if err != nil {
log.Fatal(err)
}
localTCPAddr := net.TCPAddr{
IP: localAddr.IP,
}
client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
DialContext: (&net.Dialer{
LocalAddr: &localTCPAddr,
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
DualStack: true,
}).DialContext,
MaxIdleConns: 100,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
},
}
Для справки: переменная laddr будет выглядеть следующим образом:
2620:13a:c020:0016:1f7b:169c:846f:218a:49152
Ошибкапроисходит при попытке отправить запрос, и это ошибка: 2018/11/25 00:17:58 поиск 2620: 13a: c020: 0016: 1f7b: 169c: 846f: 218a: 49152: такого хоста нет.
Я не уверен, что является причиной этой ошибки.Некоторые подробности о моей среде: это свежий VPS в Ubuntu, с почти ничего не установленным.
РЕДАКТИРОВАТЬ: Даже при удалении порта, как указано ниже, я все еще получаю эту ошибку: dial tcp [2620: 13a: c020: 16: 1f7b: 169c: 846f: 218a]: 0 -> [remoteip]: [удаленный порт] bind: невозможно назначить запрошенный адрес