使用 Cloudfront/CDN 预签名的 S3 URL
Posted
技术标签:
【中文标题】使用 Cloudfront/CDN 预签名的 S3 URL【英文标题】:Pre-Signed S3 URLs with Cloudfront/CDN 【发布时间】:2017-02-26 21:06:41 【问题描述】:是否可以为 CDN(即 CloudFront?)生成预签名 URL,或者我可以将预签名 URL 参数附加到 CloudFront URL 以替代使用?
例子:
string url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);
返回:
url = "https://bucket-name.s3.amazonaws.com/file.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Expires=1111111111&Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
我可以获取 URL 参数并附加到相应的 CloudFront URL:
https://00000000000000.cloudfront.net/file.txt?AWSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Expires=1111111111&Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这是否允许下载文件?
【问题讨论】:
那行得通吗?还是您发现了更好的方法? 【参考方案1】:仅供参考,如果您只想要网络优化,而不想要边缘缓存,您也可以考虑使用“Amazon S3 Transfer Acceleration”:https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
这使您可以继续使用 S3 签名,而不必实施 Cloudfront 签名。
请在此处查看我的答案以获取更多详细信息:https://***.com/a/54139603/8046487
【讨论】:
以上是关于使用 Cloudfront/CDN 预签名的 S3 URL的主要内容,如果未能解决你的问题,请参考以下文章
使用预签名的 url PUT 到 S3 会出现 403 错误