На двух наших серверах у нас есть установка Ubuntu LAMP с кодом PHP, предназначенная для загрузки больших изображений и аудио. У одного из наших клиентов возникла проблема, когда он не может загружать файлы размером более ~ 4 МБ с любого компьютера в своем офисе. Они получают сообщение «Соединение было сброшено» в FireFox, а в Chrome - «Ошибка 101 (net :: ERR_CONNECTION_RESET): Неизвестная ошибка». В Chrome я могу наблюдать за процентом загрузки и видеть сбой загрузки примерно в то время, когда достигается ~ 4 МБ (53%) для файла размером 7,79 МБ.
Это не проблема скорости, поскольку я успешно загрузил файлы из более медленных сетей.
Apache не возвращает ошибок в журналах и записывает начало публикации в журнале доступа.
PHP.ini настроен на разрешение файлов размером до 500 МБ, и у нас есть другие клиенты, которые делают это без проблем. Я также увеличил таймауты скриптов PHP.
Я протестировал загрузку из ряда других мест на серверы без ошибок; и я также протестировал загрузку из местоположения клиентов в другие службы, также без ошибок.
Я действительно в растерянности, я не могу сказать, является ли это ошибкой сервера клиента, и я надеюсь, что кто-то может знать что-то, что я могу использовать для тестирования, или, возможно, настройку, которую я мог пропустить.
и записывает начало публикации в журнал доступа
Нет - apache только когда-либо регистрирует завершение запроса в access_log (если у вас нет чего-то вроде mod_security, которое можно явно настроить для публикации журнала при отправке). Что скорее подразумевает, что некоторые из ваших утверждений тоже могут быть неверными.
PHP.ini настроен на разрешение файлов размером до 500 МБ, и у нас есть другие клиенты, которые делают это без проблем. Я также увеличил таймауты скриптов PHP.
Что такое конфиг apache? (в частности LimitRequestBody, LimitRequestFieldsize, TimeOut) Какая версия apache?
У одного из наших клиентов возникла проблема ... с любого компьютера в офисе ... успешно загруженные файлы из более медленных сетей. ... 500 МБ, и у нас есть другие клиенты, которые делают это без проблем
Это подразумевает что-то особенное для соединения между этим офисом и вашими серверами - например, брандмауэр. Вы можете продемонстрировать, захватив сеанс с помощью wirehark или аналогичного (клиент получает RST якобы от вашего сервера - вы могли бы получить этот пакет на своей стороне, если бы это были ваши серверы, завершающие соединение - если это что-то еще завершается, тогда вы выиграли не вижу, как RST-пакет покидает ваш сервер). Или просто направьте их в самое редкое интернет-кафе и попросите попробовать оттуда, чтобы подтвердить их проблему.
Вы проверили место, где хранятся загружаемые файлы? /tmp
или иным образом?
У вас осталось больше 4 МБ свободного места? dmesg
или журнал системных ошибок дает какие-либо подсказки?
Есть ли между ними брандмауэр / IPS? У нас была именно эта проблема, когда определенная часть файла давала ложное срабатывание на нашем IPS, вызывая всевозможные сбои и зависания при доступе к веб-сайту.