在具有 S3 源的 CloudFront 中启用 HTTP/2 不起作用

Posted

技术标签:

【中文标题】在具有 S3 源的 CloudFront 中启用 HTTP/2 不起作用【英文标题】:Enable HTTP/2 in CloudFront with S3 origin does not work 【发布时间】:2020-01-27 14:15:02 【问题描述】:

几天前,我在 CloudFront 中使用 S3 源启用了 HTTP/2,但它不起作用。它一直使用http1.1

curl --http2 "https://my.cdn.com
curl: (1) Unsupported protocol

我已经使用 TLS1 和 TLSv1.2_2018 进行了测试。我正在使用带有 SSL(证书管理器)的自定义 URL(Route53)。我的查看器协议策略是将 HTTP 重定向到 HTTPS。我错过了什么?

【问题讨论】:

我相信你在云端启用了 HTTP2,会不会是你的 curl 包太旧了?检查这里确认:tools.keycdn.com/http2-test 【参考方案1】:

该错误消息是说您的 curl 版本不支持 HTTP/2,而不是您的网站不支持 HTTP/2。

此答案列出了测试 HTTP/2 支持的各种其他方法:How to check if website has http/2 protocol support

【讨论】:

以上是关于在具有 S3 源的 CloudFront 中启用 HTTP/2 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

具有私有 EC2 源的 Cloudfront

当请求标头具有 CloudFront + S3 网站的“接受编码”时,CORS 标头丢失

Amazon S3 是不是向 CloudFront 发送失效信号?

CloudFront 支持的网站被重定向到 s3 存储桶 url

具有 Route 53 域的 AWS S3 网站,需要通过 CloudFront 进行 https

向客户端提供带有 Cloudfront 内容的 S3