Я хочу быть уверен, что для некоторых URL-адресов моего веб-сайта будет использоваться SSL. Я уже видел много ответов на SO.
https://stackoverflow.com/questions/724968/force-redirect-to-ssl-for-all-pages-apart-from-one
Думаю, я буду использовать mod_rewrite.
Мой вопрос больше о том, как настроить виртуальный хост для запуска моего приложения Django через HTTP и HTTPS без проблем. Я использую WSGI.
Проблема в том, чтобы просто продублировать конфигурацию более *: 443 и более *: 80? Как мне сделать, чтобы получить лучшую конфигурацию?
Спасибо.
Реми
вы можете использовать декоратор для своих представлений, чтобы они могли использовать только ssl.
@secure_required
@login_required
def edit_member(request, slug):
...
http://www.redrobotstudios.com/blog/2009/02/18/securing-django-with-ssl/
Можно скопировать конфигурацию для *: 443, вот как я сделал это на своем сервере:
<VirtualHost *:80>
ServerName www.mydomain.tld
ServerAlias mydomain.tld
DocumentRoot /path/to/www
<Directory /path/to/www>
AllowOverride All
Order allow,deny
allow from all
Options -MultiViews
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName www.mydomain.tld
ServerAlias mydomain.tld
DocumentRoot /path/to/www
<Directory /path/to/www>
AllowOverride All
Order allow,deny
allow from all
Options -MultiViews
</Directory>
SSLEngine On
SSLCertificateFile /etc/ssl/private/mydomain.crt
</VirtualHost>
Обязательно активируйте SSL на виртуальном хосте *: 443 (SSLEngine), а также настройте свой сертификат (SSLCertificateFile).
Вам также необходимо активировать модуль ssl для Apache2, введите как root:
a2enmod ssl