"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
ЕвгенийСуворов
Здравствуйте, столкнулись с такой проблемой:

Имеем внешний клиент, подключенный к серверу MyChat через спутниковый интернет, в целом все работает хорошо, но вот отправлять с этого клиента файлы размером примерно более 1 Мб проблематично, чаще всего загрузка файла на сервер останавливается на 100% и висит так, иногда помогает отмена загрузки на 100% и повторное прикрепление файла, в таком случае файл отправляется мгновенно. Но почему-то этот обходной путь срабатывает не всегда. А вот с загрузкой файлов этим клиентом проблем пока не наблюдалось.

В админке не нашел каких либо настроек связанных с таймаутами и т.п..
Возможно чтобы понять причину, вам нужны логи?
Аватара пользователя
Алексей Пикуров
Добрый день. Покажите результат пинга из командной строки большими пакетами, по 1024 байта. С вашего компьютера-клиента до сервера.

Приложите файл логов с сервера nodejs.
C:\ProgramData\MyChat Server\logs\(текущая дата) и укажите время, когда случилась проблема, чтобы найти записи в логе.
Аватара пользователя
Алексей Пикуров
Получил лог ваш, спасибо. Дайте клиентский лог тоже, mcserv.log, за ту же дату.
Аватара пользователя
Алексей Пикуров
Таймауты на заливку файлов от 5 до 10 секунд. Могу предположить, что вам этого не хватает в определённые моменты. Большие файлы всегда заливаются с проблемами или периодически?
ЕвгенийСуворов
Большие всегда с проблемами, с мелкими проблем нет.
Аватара пользователя
Алексей Пикуров
Жду mcserv.log, двумя сообщениями выше.
ЕвгенийСуворов
Здравствуйте, извиняюсь за задержку, объект удаленный, отправил лог в личку.
Аватара пользователя
Алексей Пикуров
Спасибо за лог. В новой версии увеличили тайм-аут для аплоада файлов в два раза. Обновитесь, отпишете потом в этой теме, потому что протестировать вашу ситуацию у себя мы не можем.
ЕвгенийСуворов
Хорошо, только я так понимаю версии с повышенным тайм-аутом ещё нет на сайте? Уточните пожалуйста полную версию.
Аватара пользователя
Алексей Пикуров
Будет в новой версии, 8.8. Её ещё на сайте нет, вы правильно всё поняли.
ЕвгенийСуворов
Здравствуйте обновились, на версию 8.8. Проблема с отправкой фалов сохранилась. Еще я вспомнил, что иногда при отправке файла возникает сообщение: [ERROR] Ошибка #0277: недостаточно свободного места на диске сервера, заливка файла невозможна. Но на дисках сервера сотни Гб свободного пространства. На клиентах в локальной сети таких сообщений не возникает.
Аватара пользователя
Алексей Пикуров
Добрый день. Можете дать доступ по AnyDesk и показать это?

Еще я вспомнил, что иногда при отправке файла возникает сообщение: [ERROR] Ошибка #0277: недостаточно свободного места на диске сервера, заливка файла невозможна. Но на дисках сервера сотни Гб свободного пространства. На клиентах в локальной сети таких сообщений не возникает.

Сервер проверяет, есть ли место на конкретном диске, а не на всех. Речь про конкретную папку, куда заливаются файлы.

Админка, "Настройки", "Каталоги", "Каталог кеша файлов для передачи через сервер".
ЕвгенийСуворов
К сожалению удалённый доступ организовать не получится, на клиенте доступ только к серверу MyChat. Но я могу записать действия, чтобы показать вам. Место на диске куда заливаются файлы точно есть, свыше 200 Гб.
ЕвгенийСуворов
Здравствуйте, направил запись в личку. На этих днях был в командировке на других объектах, также на спутниковом канале, устанавливал MyChat. Проблемы с отправкой файлов иногда возникают, как я понимаю загрузка осуществляется с помощью Node.js, таймаут устанавливается наверное в нем, может есть возможность менять его так скажем на горячую?
Аватара пользователя
Алексей Пикуров
Евгений, таймауты у нас большие, гораздо бОльшие, чем у вас задержки. Я думаю, кто-то фильтрует трафик между клиентом и сервером и ломает его. Включите https, чтобы никто не мог вмешаться.

Судя по видео и логам сервера, обрыв связи происходит и сервер это видит, а клиент — нет. Потому и "висит" в ожидании.
ЕвгенийСуворов
У нас стоит шлюз на котором настроен обратный прокси сервер для сервера MyChat, получается, что по идее внешние запросы должны работать по https, а от шлюза до сервера (в локальной сети) уже http. Или если на сервере MyChat не включён https, то клиент отправляет запросы по http?
Аватара пользователя
Алексей Пикуров
С этого стоило начинать.

если на сервере MyChat не включён https, то клиент отправляет запросы по http

Конечно. Клиент работает по тому протоколу, на который настроен сервер.
ЕвгенийСуворов
Понятно, как то сразу не подумал об этом. Спасибо за информацию, буду завтра пробовать включать https.
ЕвгенийСуворов
Добрый день! Включил https на сервере, но к сожалению проблемы с передачей файлов остались.
Аватара пользователя
Алексей Пикуров
Значит, дело не в фильтрации трафика, а в чем-то ином.
Аватара пользователя
Алексей Пикуров
Судя по тем логам, что вы предоставили, ситуация такая: клиент заливает файл на сервер, заливка приостанавливается, ошибок со стороны клиента и со стороны сервера никаких нет, он ждёт, что сервер в очередной раз даст отмашку на отправку следующего блока данных или отключит соединение.

На логах сервера фиксируется обрыв связи.

На клиенте сетевых ошибок нет. Получается, что-то, что виновато в обрыве связи, физически находится к серверу значительно ближе, чем к клиенту, раз сетевая ошибка фиксируется только на сервере.

Это всё, что я могу сказать. Как решить эту проблему и кто конкретно в ней виноват — мы не знаем.