При загрузке файла OVA на сервер, размер которого составляет около 2,5 ГБ, появляется ошибка « 413 слишком большой объект запроса» .Теперь очевидное предположение состоит в том, чтобы проверить конфигурацию в файле nginx, которая
client_body_temp_path /srv/storage/tmp/package;
client_body_in_file_only clean;
client_body_buffer_size 200M;
client_max_body_size 5000M;
Так что это выглядит нормально.
Та же самая операция работает через браузер. Запрос на chrome выглядит как
И это мой код
import requests_toolbelt
str = uuid.uuid4()
file_name = path.basename(build_path)
data = open(build_path, 'rb')
files = {
'package': (file_name, data, 'application/octet-stream')
}
m = requests_toolbelt.MultipartEncoder(fields=formdata)
headers = {
'Content-Type': m.content_type
}
res = session.post(url, data=m, params={'X-Progress-ID': str, userpkgname':file_name})
Итак, загрузка начинается, пока она загружает весь файл.На сервере я вижу загружаемые файлы размером 200M.Но когда загружаются почти целые файлы, в ответ я получаю «слишком большой объект запроса 413».На сервере также я вижу ошибку
2019/01/23 04:43:00 [error] 1679#1679: *14837 client intended to send too large body: 2699777150 bytes, client: 10.110.32.140, server: _, request: "POST url&X-Progress-ID=ab4b6b11f4d48a1f6909532d89c2501d HTTP/1.1", upstream: "http://127.0.0.1:6443/upload/urlX-Progress-ID=ab4b6b11f4d48a1f6909532d89c2501d", host: "10.110.202.250"
Примечание: Я отредактировал изображение и ответил, чтобы замаскировать конфиденциальную информацию компании.