Я загружаю (видео) файловые вложения, используя OneNote REST API с PHP и cURL. Пока все идет гладко с файлами < 30,0 МБ, все, что больше, выдает ошибку 502 Bad Gateway и никаких данных.
Принимая во внимание, что в другая ситуация (общая записная книжка) с ошибкой 502 добавление «FavorDataRecency: true» к запросу API решило проблему, в этой ситуации это не имеет никакого эффекта.
Как обойти эту проблему?
[РЕДАКТИРОВАТЬ]Это проблема тайм-аута (спасибо Джиму). Мои журналы показывают, что загрузка файлов прекращается с ошибкой 502 ровно через 120 секунд.
Мой PHP-скрипт выполняется на локальном хосте под IIS 10 в Windows 10. Я подумал, что у меня что-то получилось, когда я обнаружил, что время ожидания соединения для IIS составляет 120 секунд. Но я увеличил его до 240 секунд, и барьер тайм-аута все еще там.
Другие изменения конфигурации, которые я сделал:
Я пропускаю какие-то другие настройки тайм-аута?
Есть ли шанс, что это может быть тайм-аут на серверах OneNote?
Похоже, вы попали в тайм-аут где-то по пути. PHP имеет максимальное время исполнения конфигурация ini, cURL имеет настройки тайм-аута, и различные веб-серверы могут иметь максимальное время соединения, этот пост похож: "Ошибка плохого шлюза 502" при попытке загрузить сгенерированный сервером файл .zip
Это будет зависеть от того, какой программный стек вы используете, но проверьте параметры конфигурации для значений времени ожидания, которые вы, вероятно, превышаете, загружая большие файлы. Это также хороший ресурс для тайм-аутов PHP, apache и FCGI / FastCGI: https://www.devside.net/wamp-server/apache-and-php-limits-and-timeouts
Других решений пока нет …