Amazon s3 403亚马逊S3中的禁止发布
我正在使用AmazonS3来托管用户的图像。虽然我将它们都设置为可供公众使用(这意味着我可以通过Chrome/Firefox/IE中的URL访问图像),但我的代码中有一个403禁止的异常。它是一个缩略图处理程序(C#,ASP.NET) 例外情况来自本部分:Amazon s3 403亚马逊S3中的禁止发布,amazon-s3,amazon,http-status-code-403,Amazon S3,Amazon,Http Status Code 403,我正在使用AmazonS3来托管用户的图像。虽然我将它们都设置为可供公众使用(这意味着我可以通过Chrome/Firefox/IE中的URL访问图像),但我的代码中有一个403禁止的异常。它是一个缩略图处理程序(C#,ASP.NET) 例外情况来自本部分: WebRequest.Create(file).GetResponse().GetResponseStream() 我真的很奇怪,如果ACL或权限有问题,为什么我可以用浏览器查看图像?任何帮助都将不胜感激 找到了!经过长时间的研究,我发现这
WebRequest.Create(file).GetResponse().GetResponseStream()
我真的很奇怪,如果ACL或权限有问题,为什么我可以用浏览器查看图像?任何帮助都将不胜感激 找到了!经过长时间的研究,我发现这是因为URL字符串是区分大小写的。原来我在某处有一个.toLower():
string file = context.Request.QueryString[IMG_PARAM].Trim().ToLower().Replace("\\", "/");
删除.toLower()后,问题将得到解决。我发现,如果您使用CNAME访问Cloudfront CDN资源,但不将这些CNAME添加到AWS管理控制台的分发设置中,也会出现此错误 例如:
我也有同样的问题。如果在配置Cloudfront发行版时未指定
根文件
选项,也可能发生这种情况
当我将根文件设置为index.html时,一切都很顺利
string file = context.Request.QueryString[IMG_PARAM].Trim().ToLower().Replace("\\", "/");
cdn.yourdomain.com/js/your_script.js
rather than:
abc12345.cloudfront.net/js/your_script.js