解析服务器S3映像有时仅上载 - 套接字问题

时间:2017-01-05 20:22:57

标签: ios amazon-web-services parse-platform amazon-s3 parse-server

我有一个连接到Amazon S3的Parse Server。 有时,图片已成功上传从我的应用程序到S3。我可以毫无问题地把它们拉下来。 但有时,图片无法上传到S3。在我的iOS应用中,当应用尝试上传图片时出现这些错误:

enter image description here

和此:

enter image description here

这是我的解析服务器初始化:

enter image description here

政策问题可能性

我不确定发生了什么。 我认为这可能与S3政策有关。我根据this 制定了我的政策。该政策如下:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:*"
        ],
        "Resource": [
            "arn:aws:s3:::BUCKET_NAME",
            "arn:aws:s3:::BUCKET_NAME/*"
        ]
    }
 ]
}

APP运输安全可能性

我的另一个想法是,它可能与Apple强制执行的App Transport Security有关。由于我还没有为HTTPS设置SSL,我必须在我的PLIST中免除sample.elasticbeanstalk.com网址。也许在使用S3适配器时,它会转到与sample.elasticbeanstalk.com不同的URL,我也需要在PLIST中免除。如果重要的话,我的S3适配器会设置Direct Access == true。由于我的iOS应用程序中没有出现App Transport Security错误,因此可能并非如此。只是一个想法。

在保存触发器之前

我在上传图片的对象上有一个保存触发器。我的beforeSave触发器中的console.logs都无法在无法上传的情况下进行写入,所以我不认为问题就在这里,尽管可能。

最可能的错误来源

我的Elastic Beanstalk日志反复声明:

2017/01/05 18:11:35 [错误] 6993#0:* 16609客户端意图发送过大的主体:3803408字节,客户端:,服务器:,请求:" POST / parse / files /image.png HTTP / 1.1",主持人:“name.elasticbeanstalk.com"

为什么图片太大而无法上传?我该如何克服这个问题?

问题

知道问题是什么吗?。谢谢!

1 个答案:

答案 0 :(得分:0)

你现在可能已经解决了这个问题......然而,正如你已经提到的那样 - 很可能它与提供的Elastic Beanstalk日志有关。虽然我无法与有关套接字问题的错误日志相关,但几天前我几乎遇到了迁移我的ex-Parse托管应用程序的相同问题。

问题是Elastic Beanstalk上的(nginx)环境配置,它默认情况下只允许/处理最大大小约1 MB的文件(只是我自己的估计,因为你无法从AWS端获得关于它的可靠和一致的信息)。

但是:您可以通过在.config文件中添加以下行来克服此限制(如果存在,否则在您的Parse Server中创建一个新文件,例如' app.config') .ebextensions-directory(如果存在,否则在Parse Server目录中最顶层的位置创建一个目录namend' .ebextensions'):

files:
  /etc/nginx/conf.d/proxy.conf:
    content: |
      client_max_body_size 10M;

' 10M'在这个例子中代表10 MB的大小 - 根据你的要求调整这个(但请记住,Parse Server也定义了文件的最大大小 - 不是100%左右,但我认为它是20或25默认情况下为MB。在index.js中初始化Parse Server实例时,可以将其设置为param / option。)。

希望我能帮助别人:)

/米