一个Django应用程序的多个域,有和没有SSL

时间:2011-10-05 22:15:17

标签: python django apache mod-wsgi

我想将多个域(每个带有和whitout ssl)指向单个Django应用程序,使用mod_wsgi和Apache 2。

我已经知道如何设置Django以支持多个域,但我不知道如何正确设置Apache。如果站点不必使用SSL,我会对所有相关域使用“ServerAlias”-directives。但由于必须使用和不使用SSL访问域,我不知道如何将所有域的两个端口转发到单个Django App。 Google仅显示将所有域重定向到一个域的结果。

1 个答案:

答案 0 :(得分:0)

如果他们使用完全相同的代码库,以及相同的Django设置模块等,那么将它们设置为不同的应用程序,但在Apache配置的全局范围内添加:

WSGIDaemonProcess all-django-sites

然后在每个VirtualHost中添加:

WSGIProcessGroup all-django-sites
WSGIApplicationGroup %{GLOBAL}

这将导致mod_wsgi创建一个守护程序进程组,其中所有请求都由在其中运行的单个Django实例处理。

如果您的代码库和设置不同,那么您无法执行此操作,因为您无法在同一个解释器中运行多个Django实例。