我有一个带有 2 个节点的 GKE 集群,其服务类型为 LoadBalancer。当我在内部调用服务时,长请求不会在 120 秒后超时。但是,如果我调用转发到内部服务的网络负载均衡器的外部 IP,我会收到“来自服务器的空回复”响应。
外部调用示例:
curl -v "http://<public-ip>/longResponse"
* Trying <public-ip>...
* TCP_NODELAY set
* Connected to <public-ip> (<public-ip>) port 80 (#0)
> GET /longResponse HTTP/1.1
> Host: <public-ip>
> User-Agent: curl/7.54.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host <public-ip> left intact
curl: (52) Empty reply from server
内部调用示例:
/ # wget -O - -S <service-name>/longResponse
Connecting to location-service (10.3.255.181:80)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 15
Date: Thu, 28 Feb 2019 10:31:14 GMT
Connection: close
- 100% |*********************************************************************************************************************************************************************************************************************| 15 0:00:00 ETA
/ #
我试图在负载均衡器级别查找请求或套接字超时的文档,但我没有遇到任何问题。任何想法?
谢谢。