Назад | Перейти на главную страницу

Несколько сайтов Django на одном сертификате SSL с использованием одного IP-адреса с Apache

Есть ли техническая возможность настроить несколько сайтов 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 в каждом виртуальном хосте указывают на сертификат с подстановочными знаками).