2017-01-05 2 views
1

У меня есть Parse Server, который подключен к Amazon S3. Иногда изображения успешно загружаются из моего приложения в S3. Я могу вытащить их без проблем. Иногда, однако, изображения не могут загружаться на S3. В моем приложении IOS, я получаю эти ошибки, когда приложение пытается загрузить изображения:Parse Server S3 Загрузка изображений Иногда Иногда - Socket Issue

enter image description here

и это:

enter image description here

Вот мой синтаксический анализ сервера initlialization:

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 ТРАНСПОРТНАЯ БЕЗОПАСНОСТЬ

Еще одна идея у меня есть, что, возможно, это связано с App транспортной безопасности, который обеспечивает соблюдение компании Apple. Поскольку я еще не настроил SSL для HTTPS, я должен освободить URL sample.elasticbeanstalk.com в моем PLIST. Возможно, при использовании адаптера S3 он переходит на другой URL-адрес, чем sample.elasticbeanstalk.com, который мне также необходимо освободить в PLIST. Мой S3-адаптер действительно устанавливает Direct Access == true, если это имеет значение. Поскольку в моем приложении iOS не появляется ошибка безопасности в приложении, это, вероятно, не так. Просто мысль.

ДО SAVE TRIGGER

У меня есть перед сохранением курка на объект, который я отправляю изображения для. Ни один из console.logs в моем триггере beforeSave для него не записывается, когда он не может загрузить, поэтому я не думаю, что проблема здесь, хотя это возможно.

наиболее вероятный источник ошибок журналы

Моего Elastic Beanstalk уже это неоднократно заявляли:

2017/01/05 18:11:35 [ошибка] 6993 # 0: * 16609 клиента предназначен для отправить слишком большое тело: 3803408 байт, клиент:, сервер:, запрос: «POST /parse/files/image.png HTTP/1.1», host: «name.elasticbeanstalk.com»

Зачем нужны изображения Как это можно преодолеть?

ВОПРОС

Любая идея в чем проблема?. Благодаря!

ответ

0

Вы, вероятно, решили это до сих пор ... тем не менее, как вы уже упоминали, скорее всего, это связано с предоставленными журналами Elastic Beanstalk.Хотя я не могу относиться к журналам ошибок в отношении проблем сокета, я почти столкнулся с теми же проблемами, которые мигрировали мои приложения, работающие с ex-Parse, несколько дней назад.

Проблема заключается в конфигурации среды (nginx) на Elastic Beanstalk, которая как-то разрешает/обрабатывает файлы с максимальным размером около 1 МБ по умолчанию (только моя собственная оценка, так как вы не можете получить надежную и последовательную информацию об этом от AWS боковая сторона).

Но вы можете преодолеть этот предел, добавив следующие строки в .config-файл (если существующий, иначе создайте новый файл, например «app.config») в каталоге .ebextensions-сервера Parse Server (если он существует, в противном случае создать каталог namend».ebextensions' в самом верхнем положении внутри вашей директории Разбор сервера):

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

„10M“в данном примере означает размер 10 МБ - настроить это в зависимости от ваших требований (но имейте в виду, что Parse Server определяет максимальный размер файлов также - не 100%, но я думаю, что по умолчанию это 20 или 25 МБ. Вы можете установить это как параметр/параметр при инициализации экземпляра Parse Server в индексе. JS.).

Надеется, что я мог бы помочь кому-то :)

+0

Я сделал это некоторое время назад, и это решило проблему для AWS EB ограничений размера файла. Однако у Parse Server есть собственные ограничения на размер файла, который я не преодолел и не принял. – mdimarca

Смежные вопросы