le téléchargement de fichiers en Flash (SWFUpload) échoue avec Apache / mod-wsgi
-
09-09-2019 - |
Question
Cette question a été réintitulé / retagged afin que d'autres peuvent trouver plus facilement la solution à ce problème.
Je suis en train d'essayer de migrer un projet à partir du serveur de développement de Django à un environnement de mod_wsgi Apache /. Si vous me l'aviez demandé hier, je l'aurais dit que la transition allait très bien. Mon site est en place, accessible, rapide, etc. Cependant, une partie du site repose sur le téléchargement de fichiers et avec ce que je fais l'expérience de la question étrange et le plus affolant. La page en question utilise SWFUpload pour poster un fichier et les métadonnées associées à une URL qui attrape le fichier et lance un serveur traitement -side. Cela fonctionne parfaitement sur le serveur de développement, mais chaque fois que je poste à cette url sur Apache l'objet de requête Django revient vide -. pas GET, POST, ou des fichiers de données
Je l'ai éliminé les problèmes côté client par fouiner avec Wireshark. Pour autant que je peux discerner la cause provient d'une sorte de problème de configuration Apache, peut-être lié au répertoire du fichier temporaire, je suis en train d'accéder. Je suis un nouveau venu par rapport à la configuration Apache et ont été cogner la tête contre cela pendant des heures.
Ma config Apache:
<VirtualHost *:80>
ServerAdmin user@sitename.com
ServerName sitename.com
ServerAlias www.sitename.com
LogLevel warn
WSGIDaemonProcess sitename processes=2 maximum-requests=500 threads=1
WSGIProcessGroup sitename
WSGIScriptAlias / /home/user/src/sitename/apache/django.wsgi
Alias /static /home/user/src/sitename/static
Alias /media /usr/share/python-support/python-django/django/contrib/admin/media
</VirtualHost>
Mon intuition est que cela peut avoir quelque chose à voir avec les permissions du répertoire de téléchargement de fichiers que j'ai indiqué dans mon Django settings.py ('/home/sk/src/sitename/uploads/'
), mais mon journal des erreurs Apache ne suggère pas quelque chose du genre, même avec le niveau de journal cogné jusqu'à débogage.
Les suggestions sur la façon dont je devrais aller sur le débogage cela?
La solution
Une autre possibilité est un bogue dans les « anciens » de versions mod_wsgi (je me suis fou pour trouver et corriger, il). Plus d'informations dans ce rapport . Je l'ai fixé (pour le téléchargement papillotes) grâce à la balise
Autres conseils
Normalement apache fonctionne comme un utilisateur "www-data"; et vous pourriez avoir des problèmes si elle ne dispose pas d'un accès en lecture / écriture. Cependant, votre configuration ne semble pas utiliser apache pour accéder au « / home / sk / src / sitename / upload »; ma compréhension de ce fichier de configuration est à moins qu'il a frappé / statique ou / media, apache remettra le tout WGSI, de sorte qu'il pourrait être bon de vérifier les autorisations et les journaux, plutôt que ceux apache.