【发布时间】:2018-09-12 13:19:45
【问题描述】:
我们在 Intranet 网络中使用 onPrem S3 存储服务器,我们希望将此 Intranet url 公开给 Internet,因此我们使用了一个映射到 Intranet url 的代理。当我们测试 Intranet url 时,它运行良好,但是当我们测试 internet url 时,我们得到 403 错误:
我们计算的请求签名与您提供的签名不匹配。检查您的秘密访问密钥和签名方法。有关详细信息,请参阅 REST 身份验证和 SOAP 身份验证了解详细信息。 (服务:Amazon S3;状态代码:403;错误代码:SignatureDoesNotMatch;请求 ID:0a440c7f:15cc604b1e2:12d3af:24d;S3 扩展请求 ID:空),S3 扩展请求 ID:空
经过调试发现,proxy修改了用于计算签名的host header,以便将请求重定向到内网url...
所以我的问题是如何使用 AWS SDK 或 Boto3 客户端从 V4 签名计算中抑制某些标头。还是有更好的架构来公开 onPrem S3 服务。
提前致谢。 阿米尔。
【问题讨论】:
-
什么是“onPrem S3 存储服务器”?你的意思是你已经实现了一个本地服务器来缓存来自 S3 的内容?
-
@jarmod 我怀疑它是具有 S3 兼容 API 的本地存储解决方案。
-
@Michael-sqlbot 是的,听起来就是这样,谢谢迈克尔。
标签: amazon-web-services amazon-s3 boto3