Есть ли техническая возможность настроить несколько сайтов Django с использованием одного SSL-сертификата на одном IP-адресе с Apache?
Ниже приведен отрывок из моей конфигурации SSL:
Alias /media/ x:/home/djang-apps/myapp
WSGIScriptAlias / x:/home/djang-apps/myapp/apache/django.wsgi
<Directory x:/home/djang-apps/>
Order allow,deny
Allow from all
</Directory>
Одна из проблем, с которой я столкнулся, заключается в том, что у меня только один IP-адрес, у меня есть только 1 виртуальный хост, поэтому как я могу ссылаться на папки мультимедиа varius, которые содержат css / images / js и т. Д. Для каждого веб-сайта Django, а также WSGIScriptAlias для каждого сайта?
В настоящее время у меня есть сертификат wild card для * .foo.com
Итак, я хотел бы добавить несколько сайтов таким образом:
website1.foo.com website2.foo.com website3.foo.com
Вам нужно будет настроить NameVirtualHost
директиву и настройте VirtualHost
для каждого отдельного домена.
Например:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName app1.foo.com
ServerAlias www.app1.foo.com
SSLEngine On
SSLCertificateFile x:/path/to/cert.pem
SSLCertificateKeyFile x:/path/to/cert.key
# Any other basic config, logging, etc..
DocumentRoot x:/home/djang-apps/app1
# Any other document mapping; that Alias directive, WSGIScriptAlias, etc
</VirtualHost>
<VirtualHost *:443>
ServerName app2.foo.com
ServerAlias www.app2.foo.com
SSLEngine On
SSLCertificateFile x:/path/to/cert.pem
SSLCertificateKeyFile x:/path/to/cert.key
# Any other basic config, logging, etc..
DocumentRoot x:/home/djang-apps/app2
# Any other document mapping; that Alias directive, WSGIScriptAlias, etc
</VirtualHost>
Apache может немного ныть во время запуска по поводу индикации имени сервера, которую вы можете спокойно игнорировать, поскольку вы используете сертификат с подстановочными знаками (просто убедитесь, что директивы SSL в каждом виртуальном хосте указывают на сертификат с подстановочными знаками).