AWS CloudFront 响应 307 临时重定向

Posted

技术标签:

【中文标题】AWS CloudFront 响应 307 临时重定向【英文标题】:AWS CloudFront responses 307 Temporary Redirect 【发布时间】:2021-01-20 21:19:30 【问题描述】:

物联网设备正在发送数据:

通过 POST 方法 通过 HTTP(不是 HTTPS) 并且不遵循重定向

我在 AWS API GateWay 上创建了一个端点,并创建了一个 AWS CloudFront 并进行如下配置:

来源域名: myAPIgw.execute-api.us-west-1.amazonaws.com 源协议政策: 仅限 HTTPS 查看者协议政策:将 HTTP 重定向到 HTTPS 允许的 HTTP 方法: GET、HEAD、OPTIONS、PUT、POST、PATCH、DELETE 缓存政策: Managed-CachingDisabled

当我通过邮递员发送请求(自动跟踪重定向已关闭)时,这些是响应:

POST https://myAPIgw.execute-api.us-west-1.amazonaws.com --> 200 成功

POST https://Mycloudfront.cloudfront.net --> 200 成功

POST http://Mycloudfront.cloudfront.net --> 307 临时重定向

有什么想法可以通过 HTTP 获得 200 吗?

【问题讨论】:

将查看器协议设置为 HTTP?我不确定你的目标是什么?您只想使用 HTTP 或 HTTPS? @Marcin 我想通过 http 发送数据,但 API 网关只能通过 https 工作,所以我将数据发送到云端,然后 cloudFront 将 http 重定向到 https,然后将其发送到 Api 网关 【参考方案1】:

如果你想使用HTTP,那么你应该设置:

Viewer Protocol Policy: HTTP and HTTPS

Origin Protocol Policy: HTTPS Only

通过这种方式,您可以使用 HTTP 或 HTTPS 查询 CloudFront 端点,并且不需要从 HTTP 重定向到 HTTPS。

【讨论】:

以上是关于AWS CloudFront 响应 307 临时重定向的主要内容,如果未能解决你的问题,请参考以下文章

302 和 307 重定向有啥区别?

http状态吗307,303,302的区别

http状态吗307,303,302的区别

Safari 是不是正确处理临时重定向 (307) 到不同的域?

带有“ 307临时重定向”的Android VideoView播放URL

AWS CloudFront 重定向到路径