我目前有一个apache服务器,其中定义了几个名为virtualhosts的服务器,它们都位于端口80上的同一个IP上。
但是,我有一个静态虚拟主机(一个特定的域),我想使用nginx。这是否可能不需要我安装nginx将所有请求转发给其他虚拟主机?
我真的想避免我需要列出apache和nginx中的每一个虚拟主机,这是一个配置错误的配方。
发布于 2012-02-01 20:32:43
你只能有一件事监听那一个IP,端口80。因此,您将直接在端口80上使用nginx或apache。不管是什么,都由你决定。
如果您在前面使用nginx,则需要Apache侦听其他端口,然后将其他虚拟主机代理到该Apache。当然,如果前面有Apache,则需要将该域代理到nginx (它将监听其他端口)。
哪种方法更简单取决于您的配置,尽管我认为前面的nginx可能有优势。
更新:
在nginx中,虚拟主机匹配从最特定到最少,因此如果您有两个虚拟主机块,其中您指定了您的特定域和所有相关配置,而另一个只是在没有服务器名集的端口80上进行匹配,那么您应该能够处理您的场景。如果这是特定域上的请求,则应该与该配置相匹配。如果请求位于其他域,它应该与默认虚拟主机相匹配,您应该将其设置为Apache代理。
https://serverfault.com/questions/355953
复制相似问题