使用Fineuploader通过SSL / HTTPS将文件上传到S3

时间:2018-10-04 16:12:32

标签: ssl amazon-s3 https fine-uploader

我已经设置Fineuploader将文件上传到我正在处理的项目的S3存储桶中,并且一切运行顺利...直到我设置SSL。 (应用程序在Docker中运行,并为此添加了Nginx + LetsEncrypt来实现这一点)

应用程序的其余部分正常运行时,通过Fineuploader上载失败,并显示错误消息:

  

混合内容:“ https://example.com/upload”上的页面为   通过HTTPS加载,但请求了不安全的XMLHttpRequest端点   'http://MYBUCKETNAME.amazonaws.com/'。此请求已   封锁内容必须通过HTTPS提供。

我浏览了Fineuploader的文档,但是除了在request> endpoint [https://docs.fineuploader.com/api/options-s3.html#request]下提到“也支持SSL”之外,没有其他选项涵盖通过HTTPS进行的请求。

(还有一个功能建议似乎可以解决这个问题,但是由于某种原因而被还原-https://github.com/FineUploader/fine-uploader/issues/1119

我尝试在客户端上载器中的端点前面添加“ https://”,但这也不起作用。

var uploader = new qq.s3.FineUploader({
     request: {
         endpoint: 'https://MYBUCKETNAME.amazonaws.com',
         accessKey: 'TRALALALALALA',
      },
...

我在这里缺少任何选择吗?签名功能是否需要更改才能正常工作?

由于这是到S3存储桶的上载,因此端点策略是否取决于存储桶的权限(在这种情况下,如何通过https启用上载?)

1 个答案:

答案 0 :(得分:0)

我刚刚解决了这个问题,事实证明这是Docker问题...由于某种原因,尽管标签正确,但图像仍未更新。我尝试通过在端点的前面加上'https://'来更改端点,该端点现在可以正常工作。

(类似于Using FineUploader with optional https?中的建议)

希望这对其他人有帮助,因为Fineuploader对此并不清楚。