CherryServer服务器下载Go及相关资源遇403错误求助
问题描述
通过Terraform在CherryServers部署了一台Ubuntu服务器,公网IP为5.199.161.113。尝试在该服务器上部署Kubernetes时,遇到资源下载问题:
- 执行命令
wget https://storage.googleapis.com/golang/getgo/installer_linux返回403错误; - 执行命令
curl -v -OL https://golang.org/dl/go1.20.3.linux-amd64.tar.gz同样返回403,具体输出如下:
curl -v -OL https://golang.org/dl/go1.20.3.linux-amd64.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 142.250.74.81:443... * TCP_NODELAY set * Connected to golang.org (142.250.74.81) port 443 (#0) * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] * TLSv1.3 (IN), TLS handshake, Server hello (2): { [122 bytes data] * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): { [15 bytes data] * TLSv1.3 (IN), TLS handshake, Certificate (11): { [10110 bytes data] * TLSv1.3 (IN), TLS handshake, CERT verify (15): { [79 bytes data] * TLSv1.3 (IN), TLS handshake, Finished (20): { [52 bytes data] * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): } [1 bytes data] * TLSv1.3 (OUT), TLS handshake, Finished (20): } [52 bytes data] * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 * ALPN, server accepted to use h2 * Server certificate: * subject: CN=misc-sni.google.com * start date: Mar 20 08:22:21 2023 GMT * expire date: Jun 12 08:22:20 2023 GMT * subjectAltName: host "golang.org" matched cert's "golang.org" * issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1C3 * SSL certificate verify ok. * Using HTTP2, server supports multi-use * Connection state changed (HTTP/2 confirmed) * Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0 } [5 bytes data] * Using Stream ID: 1 (easy handle 0x5565d93edb10) } [5 bytes data] > GET /dl/go1.20.3.linux-amd64.tar.gz HTTP/2 > Host: golang.org > user-agent: curl/7.68.0 > accept: */* > { [5 bytes data] * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): { [282 bytes data] * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): { [282 bytes data] * old SSL session ID is stale, removing { [5 bytes data] * Connection state changed (MAX_CONCURRENT_STREAMS == 100)! } [5 bytes data] < HTTP/2 403 < content-type: text/html; charset=UTF-8 < referrer-policy: no-referrer < content-length: 1609 < alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 < { [5 bytes data] 100 1609 100 1609 0 0 5685 0 --:--:-- --:--:-- --:--:-- 5705 * Connection #0 to host golang.org left intact
- 执行
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg时也返回403错误。
备注:昨天在CherryServers部署的服务器无此问题,但之后部署的所有服务器均出现该故障,请问根本原因是什么?
问题分析与解答
根本原因推测
最可能的原因是CherryServers新分配的IP段被Google旗下服务列入了封禁/访问限制名单,具体理由如下:
- 所有失败请求均指向Google相关服务,且TLS握手完全正常(证书验证通过、连接建立成功),说明网络连通性和证书配置无问题,是服务端主动返回403拒绝请求。
- 仅后续部署的服务器出现故障,昨天的服务器正常,说明问题出在新分配的IP池上——这些IP可能之前被滥用(如批量爬取、违规请求)触发了Google的安全风控规则,或者CherryServers的某个新IP段整体被Google限制。
其他次要可能性(概率较低)
- CherryServers的出口网络对Google服务做了限制:但如果是服务商层面的限制,通常会覆盖全段IP,而昨天的服务器正常,因此该可能性较低。
- 本地DNS解析异常:从curl输出可以看到,golang.org已正确解析到官方IP(142.250.74.81),可排除此情况。
验证与解决建议
- 测试非Google外部资源:执行
curl https://github.com,如果能正常访问,进一步确认是Google服务对当前IP的限制。 - 更换网络环境测试:通过代理或VPN访问上述Google资源,若能正常下载,即可验证是当前服务器IP的问题。
- 联系CherryServers客服:确认新分配的IP段是否存在第三方服务封禁情况,请求更换IP段或单个IP。
内容的提问来源于stack exchange,提问作者Dusan Stanisavljevic
相关产品推荐
相关产品推荐

