J'utilise une instance ec2 pour héberger quelques sites web Django. Les sites sont servis par Apache avec l'utilisation de mod_wsgi.
Depuis quelques jours, j'essaie de déployer une nouvelle plateforme web que nous développons, mais je me heurte à un problème qui me semble impossible à résoudre. Pour des raisons de sécurité, nous utilisons scrypt 0.4 pour sécuriser les informations personnelles des utilisateurs, comme les mots de passe.
Sur le serveur de développement, tout fonctionne comme sur des roulettes, mais lorsque nous déployons sur notre serveur réel, nous obtenons une erreur 500 Internal Server. Le journal d'apache me donne le message suivant
Fin prématurée des en-têtes script : socialmarketingplatform.wsgi, referer :
Lorsque je décommente la ligne où le module scrypt est utilisé, tout fonctionne bien. De même, lorsque j'exécute le serveur livré avec Django avec scrypt activé, tout fonctionne sur le serveur en direct. C'est donc une combinaison de mod_wsgi, django et scrypt qui génère l'erreur.
J'utilise le fichier wsgi suivant :
import os
import sys
path = '/var/www/vhosts/[sub_domain]'
if path not in sys.path:
sys.path.append(path)
sys.path.append(path + '/socialmarketingplatform')
os.environ['DJANGO_SETTINGS_MODULE'] = 'socialmarketingplatform.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Et la configuration suivante pour le virtualhost :
<VirtualHost *:80>
#Basic setup
ServerAdmin [removed email]
ServerName luxdevelopment.net
ServerAlias [sub domain]
DocumentRoot /var/www/vhosts/[sub domain]/socialmarketingplatform/
Alias /media/admin /usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/contrib/admin/media
Alias /media /var/www/vhosts/[sub domain]/socialmarketingplatform/media
<Location media="">
SetHandler None
</Location>
LogLevel warn
ErrorLog /var/log/httpd/smp_error.log
CustomLog /var/log/httpd/smp_access.log combined
WSGIDaemonProcess luxdevelopment.net user=apache group=apache threads=25
WSGIProcessGroup luxdevelopment.net
WSGIScriptAlias / /var/www/cgi-bin/socialmarketingplatform.wsgi
</VirtualHost>
J'espère que quelqu'un pourra m'aider à résoudre ce problème. Si vous avez d'autres questions, faites-le moi savoir.