等待标题时超出客户端超时

问题描述 投票:4回答:1

我收到以下错误,我正在使用go v1.10.4 linux / amd64。

我没有任何防火墙之类的东西。我们拥有的Java服务器(同一网段)中的新Relic运行良好。

我们已经尝试过:

  • 将超时增加到60秒
  • 在服务器上使用http2
  • 使用邮递员返回503和响应:

    {“ exception”:{“ message”:“服务器错误”,“ error_type”:“ RuntimeError”}}]

  • ./ nrdiag的故障排除说”未找到问题”

下面是我们的代码:

    config := newrelic.NewConfig(os.Getenv("NEW_RELIC_APP_NAME"), os.Getenv("NEW_RELIC_KEY"))

    config.Logger = newrelic.NewDebugLogger(os.Stdout)

    app, err := newrelic.NewApplication(config)
    if err != nil {
        fmt.Println("Failed to create newrelic application", err)
        os.Exit(1)
    }

.................

        httpListener, err := net.Listen("tcp", *httpAddr)
        if err != nil {
            oldlog.Print("Error: ", err)
            logger.Log("transport", "HTTP", "during", "Listen", "err", err)
            os.Exit(1)
        }
        g.Add(func() error {
            logger.Log("transport", "HTTP", "addr", *httpAddr)
            return http.Serve(httpListener, nrgorilla.InstrumentRoutes(httpHandler, app))
        }, func(error) {
            httpListener.Close()
        })
    }

但是无论如何,请注意some_key已删除:

((28422)2019/07/29 18:08:50.058559 {“ level”:“警告”,“ msg”:“应用程序连接失败”,“ context”:{“ error”:“发布https://collector-001.eu01.nr-data.net/agent_listener/invoke_raw_method?license_key=some_key \ u0026marshal_format = json \ u0026method = connect \ u0026protocol_version = 17:net / http:请求已取消(在等待标头时超过了Client.Timeout)“}}

performance go newrelic newrelic-platform
1个回答
0
投票

我认为是由于DNS网络超时所致。

您可以使用以下步骤轻松地对此进行测试(在Ubuntu中)

  1. 选择IPv4设置选项卡。
  2. 禁用“自动”切换开关并输入DNS解析器的IP地址,以逗号分隔。我们将使用Google DNS名称服务器:

    8.8.8.8,8.8.4.4

如果可行,则可以将DNS重置为“自动”

© www.soinside.com 2019 - 2024. All rights reserved.