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



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

虽然应用程序的其余部分工作正常,但通过 Fineuploader 上传失败并显示错误消息:

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

我已经浏览了 Fineuploader 的文档,但没有看到涵盖 HTTPS 请求的选项,除了在请求>端点 [https://docs.fineuploader.com/api/options-s3.html#request] 下提到"也支持 SSL"。

(还有一个功能建议似乎可以解决这个问题,但由于某种原因被恢复 - 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 上传?

我刚刚解决了这个问题,结果发现这是一个 Docker 问题......由于某种原因,尽管具有正确的标记,但图像仍未更新。我尝试通过将"https://"固定在端点的前面来更改端点,它现在可以工作了。

(类似于使用带有可选https的FineUploader中的建议?

希望这对其他人有所帮助,因为 Fineuploader 没有明确说明这一点。

最新更新