J'ai une application django et je voudrais appliquer SSL aux pages d'administration. Puisque la page d'administration est la seule page nécessitant SSL, je veux le faire en utilisant les fichiers de configuration d'apache et en n'utilisant pas SSLMiddleware. Mes (partielles) les fichiers de configuration apache ressemblent à ceci:Configuration django SSL apache
<VirtualHost *:80>
.
.
DocumentRoot /home/www/sites_django/wmssite
.
<Directory "/home/www/sites_django/wmssite">
.
</Directory>
<Location "/admin">
RewriteEngine On
RewriteRule ^/(.*) https://www.whitemoorstudio.pvm/admin [L,R=301]
</Location>
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile "/usr/local/etc/apache22/www_whitemoorstudio_pvm.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/www_whitemoorstudio_pvm.key"
.
.
</VirtualHost>
Le TLD .pvm est un TLD local, je viens d'utiliser pour les tests sur mon réseau interne.
J'ai mis en place un certificat auto-sgned et cela fonctionne, bien .... en quelque sorte. La chose étrange est que pour une raison quelconque lors de la réécriture à https, il ne peut pas trouver les fichiers multimédias dans le répertoire/media, pas d'images, pas de css, pas de js. Le journal des erreurs apache me dit qu'il est à la recherche dans le répertoire/usr/local/www/apache22/data/media:
[Sat Nov 06 20:45:18 2010] [error] [client 192.168.1.134] File does not exist: /usr/local/www/apache22/data/media, referer: https://www.whitemoorstudio.pvm/admin/
Quand je ne réécrivez pas https répertoire multimédia admin/usr/local/www/apache22/media. Ce média de répertoire est un lien logique:
media -> /usr/local/lib/python2.5/site-packages/django/contrib/admin/media
Je ne sais pas pourquoi, sans SSL, il est à la recherche de:
/usr/local/www/apache22/media
et SSL:
/usr/local/www/apache22/data/media
Ce dernier répertoire doesn N'existe pas !!!
Quelqu'un a-t-il une idée?
Merci de poser et de résoudre cela. Je ferai la même chose dans quelques jours et cela me donnera un bon départ. – jlarry
De rien. J'ai également changé la règle de réécriture en: RewriteRule ^/admin (. *) Https: //www.whitemoorstudio.pvm/admin [L, R = 301]. Notez également que les emplacements de fichiers sont pour mon serveur FreeBSD. – Henri
s'il vous plaît marquer votre réponse comme correcte – Sheena