相关疑难解决方法(0)

只允许一种身份验证机制; 只有X-Amz-Algorithm查询参数..?

我正在尝试向amazonS3预先签名的URL发送PUT请求.即使我只有一个PUT请求,我的请求似乎也会被调用两次.第一个请求返回200 OK,第二个请求返回400 Bad Request.

这是我的代码:

var req = {
    method: 'PUT',
    url: presignedUrl,
    headers: {
        'Content-Type': 'text/csv'
    },
    data: <some file in base64 format>
};

$http(req).success(function(result) {
    console.log('SUCCESS!');
}).error(function(error) {
    console.log('FAILED!', error);
});
Run Code Online (Sandbox Code Playgroud)

400 Bad Request更详细的错误:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
   <Code>InvalidArgument</Code>
   <Message>Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified</Message>
   <ArgumentName>Authorization</ArgumentName>
   <ArgumentValue>Bearer someToken</ArgumentValue>
   <RequestId>someRequestId</RequestId>
   <HostId>someHostId</HostId>
</Error>
Run Code Online (Sandbox Code Playgroud)

我不明白的是,为什么它会回归400?什么是解决方法?

amazon-s3 angularjs

18
推荐指数
3
解决办法
8228
查看次数

不要在HTTP重定向上传播标头

我有在亚马逊S3上托管的文件,我想在我的应用程序中进行处理后下载它们.此应用程序视图需要HTTP Authorization标头才能继续.这是过程:

  1. /file/xxx带有所需Authorization请求标头的查询视图
  2. 如果授予应用访问权限,请做一些处理
  3. 生成已签名的S3网址,然后重定向到该网址

事实是请求标头也在重定向上传播,并且与Amazon的S3签名冲突,我有以下错误消息:

应指定签名查询字符串参数或授权标头,而不是两者

那么,有没有办法不将Authorization标头传播到S3?

请注意,我已经测试了所有3xxHTTP代码.提前致谢.

django redirect http amazon-s3 http-headers

6
推荐指数
1
解决办法
773
查看次数

标签 统计

amazon-s3 ×2

angularjs ×1

django ×1

http ×1

http-headers ×1

redirect ×1