Ошибка таймаута при загрузке файлов PDF и CSV в приложении Django на сервер o2switch

Я развернул приложение Django на сервере o2switch и пытаюсь загрузить файлы в папку media. Мой код отлично работает для файлов .txt и .xlsx, но не работает для файлов .pdf или .csv. Я получаю ошибку таймаута, и кажется, что запрос даже не доходит до сервера, потому что в журналах ничего не появляется.

Я попытался провести тест с PHP-скриптом на том же домене, и он работает для всех типов файлов. Таким образом, проблема, похоже, исходит либо от приложения Django Rest Framework, либо от конкретной конфигурации на o2switch. Напоминаю, что загрузка работает нормально с файлами .txt, но я получаю таймаут для файлов .pdf и .csv. Есть ли у вас какие-нибудь идеи по поводу того, что может вызвать такое поведение? Это проблема, связанная с Django Rest Framework или с конфигурацией o2switch? и python 3.8.18 Заранее спасибо за помощь

import os
import sys
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'Back_end_Gaz_elec.settings'
import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application
SCRIPT_NAME = os.getcwd()
class PassengerPathInfoFix(object):
    def __init__(self, app):
        self.app = app
    def __call__(self, environ, start_response):
        from urllib.parse import unquote
        environ['SCRIPT_NAME'] = SCRIPT_NAME
        request_uri = unquote(environ['REQUEST_URI'])
        script_name = unquote(environ.get('SCRIPT_NAME', ''))
        offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
        environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
        return self.app(environ, start_response)
application = get_wsgi_application()
application = PassengerPathInfoFix(application)

Моя конфигурация статических и медиафайлов в settings.py


MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

и мой urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('application.urls')),
    path('api-dashboard/', include('admin_dashboard.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)`
`STATIC_URL = '/static/'

Вот некоторые подробности:

Django==4.0.3
django-cleanup==6.0.0
django-cors-headers==3.11.0
django-environ==0.11.2
djangorestframework==3.13.1
djangorestframework-jwt==1.11.0
djangorestframework-simplejwt==5.1.0
# settings.py
DATA_UPLOAD_MAX_MEMORY_SIZE = 10485760  # 10 MB
FILE_UPLOAD_MAX_MEMORY_SIZE = 10485760  # 10 MB
Вернуться на верх