С Apache / mod_wsgi, как я могу перенаправить на ssl и требовать аутентификации? - PullRequest
1 голос
/ 25 марта 2010

У меня есть сервер Media Temple DV, на котором размещен dev.example.com с django, смонтированным в /. В моих httpsdocs есть устаревшая директория, которую я должен продолжать обслуживать в / legacy. Но для этого каталога мне нужно перенаправить всех, кто переходит по http на https, а затем запросить http Basic Auth.

В виртуальном хосте я указываю рут на приложение django:

WSGIScriptAlias / /var/django-projects/myproject/apache/django.wsgi

<Directory /var/django-projects/myproject/apache>
   Order allow,deny
   Allow from all
</Directory>

Затем я создаю псевдоним устаревшего каталога. Обратите внимание, что в файловой системе существуют как ... httpdocs / legacy, так и ... httpsdocs / legacy. ... httpdocs / legacy содержит файл .htaccess. ... httpsdocs / legacy содержит документы, которые я пытаюсь обслуживать.

Alias /legacy/ /var/www/vhosts/example.com/subdomains/dev/httpdocs/legacy/
<Directory /var/www/vhosts/example.com/subdomains/dev/httpdocs>
    Order deny,allow
    Allow from all
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://dev.example.com/$1 [R,L]
</Directory>

Это работает. Он не обслуживается Django, а URL-адрес перенаправляется на https. Тем не менее, он обслуживает httpdocs / legacy вместо httpsdocs / legacy (где у меня есть .htaccess, который запрашивает аутентификацию)

Есть идеи, как мне с этим справиться?

...