Overview of new features in Apache HTTP Server 2.4州:
NameVirtualHost指令:
不再需要,现已弃用。
有人可以解释一下虚拟主机等效语法,以便在新版Apache中产生这种行为吗?
<VirtualHost 127.0.0.3:80>
DocumentRoot /var/www/html3
ServerName site3.com
</VirtualHost>
<VirtualHost 127.0.0.3:80>
DocumentRoot /var/www/html4
ServerName site4.com
</VirtualHost>
我向所有人道歉,但我已经销毁了这台服务器,因此无法提供配置文件:(
仅供参考我以前看过一个在线示例,它将服务器名称放在VirtualHost标头中,如下所示,这可能是问题所在,但我无法知道这一点,直到我有机会在某个时候测试它在将来/
<VirtualHost site3.com:80>
DocumentRoot /var/www/html3
</VirtualHost>
答案 0 :(得分:3)
您的配置是正确的,并且自动表现为&#34; NameVirtualHost 127.0.0.3:80"在场。如果http://site4.com似乎是默认的虚拟主机:
答案 1 :(得分:1)
我同意@covener。 Apache根据它为IP地址/端口组合检测到的有效虚拟主机块数量来启用SNI。最好在apache的官方文档中回答您的问题:
https://httpd.apache.org/docs/2.4/vhosts/details.html
但是,要获得完整的NameVirtualHost行为,请选择将流量路由到服务器的内部IP(在所有vhost配置块中使用相同的IP),或使用通配符(*):
<VirtualHost *:80>
<VirtualHost *:443>
我个人使用通配符语法,并且在我自己的服务器上具有大约10种不同的虚拟主机配置。
编辑: 我刚刚意识到这篇文章已有4年历史了。