Тайм-аут ввода-вывода при привязке к локальному IP-адресу - PullRequest
0 голосов
/ 29 ноября 2018

Итак, я связываю локальный IP-адрес для использования в запросе 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,
        },
    }

Это приведет к панике из-за тайм-аута ввода / вывода.Я не уверен, почему это происходит, так как этот код работал вчера.Единственная причина, по которой я могу думать, это то, что я добавил несколько тысяч IP-адресов к сетевому интерфейсу, может ли это быть причиной тайм-аута, и кто-нибудь знает какие-либо решения?

РЕДАКТИРОВАТЬ:
Сообщение об ошибке:

Get https://myip.addr.space: dial tcp [myip]:0->[2607:5300:203:118:1:0:3:8b50]:443: i/o timeout
...