У меня есть приложение django, и я хотел бы применить SSL к страницам администратора.Поскольку страница администратора является единственной страницей, требующей SSL, я хочу сделать это с помощью файлов конфигурации apache, а не с помощью SSLMiddleware.Мои (частичные) файлы конфигурации 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>
TLD .pvm - это локальный TLD, который я просто использую для тестирования во внутренней сети.
Я настроил самсертификат и это работает, ну .... вроде.Странно то, что по какой-то причине при перезаписи на https он не может найти медиа-файлы в каталоге / media, ни изображения, ни css, ни js.Журнал ошибок apache говорит мне, что он ищет в каталоге / 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/
Когда я не перезаписываю в https административный медиа-каталог / usr / local/ WWW / apache22 / СМИ.Этот носитель каталога является логической ссылкой:
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
Этот последний каталог не существует !!!
Кто-нибудь есть идеи?