每次我尝试更新我的 18.04
Err:13 https://get.docker.com/ubuntu docker InRelease
403 Forbidden [IP: 143.204.15.85 443]
我的 curl 和 dig 输出
curl -I https://get.docker.com/ubuntu/
HTTP/1.1 200 OK
Content-Type: binary/octet-stream
Content-Length: 110
Connection: keep-alive
Date: Wed, 12 Jun 2019 09:21:30 GMT
Last-Modified: Tue, 16 Oct 2018 23:00:23 GMT
x-amz-version-id: HeHCl3LN6plpzhibKU1V5uZfpGiawVdA
ETag: "b619bbda54539f24a971070244d36e37"
Server: AmazonS3
Age: 39195
X-Cache: Hit from cloudfront
Via: 1.1 ea2e21f6a5c3ec2f96b0dac1b769e00e.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA50-C1
X-Amz-Cf-Id: I8WALw5UgBf5i8FvDNgScFHeK9cpljOVQMr8-404Xl1_WJrWIQCOxg==
dig get.docker.com
; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> get.docker.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40498
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;get.docker.com. IN A
;; ANSWER SECTION:
get.docker.com. 299 IN CNAME d3cxuo8f8w64ms.cloudfront.net.
d3cxuo8f8w64ms.cloudfront.net. 58 IN A 143.204.101.25
d3cxuo8f8w64ms.cloudfront.net. 58 IN A 143.204.101.126
d3cxuo8f8w64ms.cloudfront.net. 58 IN A 143.204.101.29
d3cxuo8f8w64ms.cloudfront.net. 58 IN A 143.204.101.37
;; Query time: 78 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Tue Jun 18 20:43:49 CEST 2019
;; MSG SIZE rcvd: 150
为什么我有这个错误?
我的猜测是糟糕的 DNS 解析。
get.docker.com
使用 Amazon Cloudfront。我们看到了不同的 IP,但这是全球 CDN 的本质。他们会根据您所在的位置以及他们为该工作分配的服务器返回不同的 IP。DNS 可以随时、频繁地更改。
出现这种情况的最可能原因是您端的 DNS 缓存保留了旧的分辨率,指向现在不再保存数据的 Amazon 服务器
get.docker.com
。正如我所说,这些东西会四处迁移,因此任何超过设置 TTL 的缓存都是有风险的。