I have a django application and I would like to apply SSL to admin pages. Since the administration page is the only pages that require SSL, I want to do this using apache configuration files and not using SSLMiddleware. My (partial) apache configuration files look like this:
<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>
TLD.pvm is a local TLD that I use for testing on my internal network.
I installed a self-configuring certificate and it works, well .... sort of. The strange thing is that for some reason, when rewriting to https, it cannot find media files in the / media directory, without images, without css, no js. The apache error log tells me what it is looking for in the / usr / local / www / apache 22 / data / media directory:
[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/
https - admin/usr/local/www/apache22/media. :
media -> /usr/local/lib/python2.5/site-packages/django/contrib/admin/media
, SSL :
/usr/local/www/apache22/media
SSL :
/usr/local/www/apache22/data/media
!!!
?