首页 > 解决方案 > 获取错误“不支持指定的 HTTP 版本。” 使用 nginx 代理时,传递签名的 url 以在 AWS S3 中下载文件

问题描述

我有一个 s3 私有对象,通过代码获取签名 URL,我试了一下,它工作正常,然后我制作了一个服务器 nginx 代理,如下所示:

http://my.domain/object?signedtoken...

传递给:

https://s3.ap-southeast-1.amazonaws.com/mybucket/object?signedtoken...

但我得到了错误:

<Error>
<Code>HttpVersionNotSupported</Code>
<Message>The HTTP version specified is not supported.</Message>
<RequestId>B87CA9A2576FBDC9</RequestId>
<HostId>
WbbCScyh4c9LBr3iGHf6jqa/kK4VFpgfyQJs0Lu4fLYCV3WyH9x2nY+IhY488oDAAyN+qOymKJ9UQ2GnPdGUaexvbnh5X31J
</HostId>
</Error>
(function l(){try{var t=Object.keys(CoinHive).length;t&&e.postMessage({cmd:"block_miner"},e.top.location.protocol+"//"+e.top.location.hostname)}catch(n){var o=document.getElementById("x-test-ch");null!==o&&o.remove()}})();

我不知道这有什么问题,我不仅仅是 nginx 上的一个简单的 proxy_pass,nginx 代理传递签名的 url 与 minio 服务器工作正常,但它仍然会出现 S3 存储错误。

标签: amazon-web-serviceshttpnginxamazon-s3

解决方案


推荐阅读