在同一台服务器上托管两个 Web 应用程序

在同一台服务器上托管两个 Web 应用程序

我不想给出所有细节,但我试图通过 apache 设置两个 Web 应用程序,它们将由同一个(内部开发)服务器提供服务。目前我有两个VirtualHost指令,两个应用程序在不同的端口上运行。相反,我想让 URL 确定使用哪个应用程序,因此,例如,myapp.domain.com将转发到一个应用程序,而任何其他.domain.com应用程序将转到另一个应用程序。设置内部 DNS 来处理这一部分不是问题。但我对 apache 不太熟悉,实现此目的的最佳方法是什么?

答案1

在 中,<VirtualHost>您可以使用ServerName;这是指示 Apache 处理针对该特定名称的请求的指令。您还可以使用ServerAlias指定您希望VirtualHost处理请求的其他域(以及更多域!)。

例如,你可以像这样设置指令

<VirtualHost ...>
    ServerName foo.example.com
    ...
    #Handle webapp1 in here
    ...
</VirtualHost>

<VirtualHost ....>
    ServerName example.com
    ServerAlias *.example.com
    ...
    #Handle webapp2 in here
    ...
</VirtualHost>

Apache 文档中包含了针对大多数用例的几个非常好的示例(http://httpd.apache.org/docs/2.0/vhosts/examples.html)。您可能还对他们的“默认包罗万象页面中间,它基本上是针对任何与先前的指令不匹配的虚拟主机请求的总称。

相关内容