我在一台机器上有两个django应用程序。我想在相同的地址和端口上运行它们。因此,用户应该根据请求域/主机指向正确的地址。我当前的apache.conf文件如下:
<VirtualHost *:80> ServerName 35.232.14.xxx ... </VirtualHost> <VirtualHost *:80> ServerName www.my_testing_domain.com ... </VirtualHost>
请注意,django应用程序需要真实的ip地址、真实的域和其他内容。我根据文档构建文件: https://httpd.apache.org/docs/2.4/vhosts/examples.html#page-header (一个ip上有多个apache站点)和 https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-ubuntu-14-04 (django和apache)。
问题是,每个请求都指向第一个virtualhost(在本例中是ip地址)。如果我在apache.conf中切换它们的顺序,那么每个请求都会转到域virtualhost。
所以其中一个站点工作正常(总是第一个)。
为什么apache不尊重服务器名?我错过了什么?
我用“www”添加服务器别名:
ServerAlias my_testing_domain.com
到“基于域”的虚拟主机。现在它工作了。