在一个SSL证书上使用单个IP与Apache的多个Django站点

在技​​术上可以在单个IP地址上使用单一的SSL证书来设置多个Django站点吗?

以下是我的SSLconfiguration摘录:

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地址,我只有一个虚拟主机,因此我怎样才能引用varius媒体文件夹包含每个Django网站的CSS /图像/ JS等,以及每个站点的WSGIScriptAlias?

我目前拥有* .foo.com的通配符证书

所以我想能够以这种方式添加几个网站:

website1.foo.com website2.foo.com website3.foo.com

您需要configuration一个NameVirtualHost指令,并为每个不同的域configuration一个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指令都指向通配证书),您可以放心地忽略它。