Apache 2.4.6 中的 NameVirtualHost 指令等效?
NameVirtualHost directive equivalent in Apache 2.4.6?
Overview of new features in Apache HTTP Server 2.4 状态:
NameVirtualHost directive:
No longer needed and is now deprecated.
有人可以解释在新版本的 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 header 中,如下所示,这可能是问题所在,但在我有机会之前我无法知道这一点将来某个时候测试它/
<VirtualHost site3.com:80>
DocumentRoot /var/www/html3
</VirtualHost>
您的配置是正确的,并且会自动运行,就好像 "NameVirtualHost 127.0.0.3:80" 存在一样。如果 http://site4.com 似乎是默认虚拟主机:
- 确保你实际测试的是“http://site4.com”
- 确认不是浏览器缓存
- 尝试命令行客户端
- 确保磁盘上的内容确实不同
我同意@covener。 Apache 根据它为 IP address/port 组合检测到的有效虚拟主机块数来启用 SNI。你的问题最好在 apache 的官方文档中得到解答:
https://httpd.apache.org/docs/2.4/vhosts/details.html
但是,对于完整的 NameVirtualHost 行为,要么选择一个将流量路由到您的服务器的内部 IP(在所有 vhost 配置块中使用相同的 IP),要么使用通配符 (*):
<VirtualHost *:80>
<VirtualHost *:443>
我个人使用通配符语法,在我自己的服务器上有大约 10 种不同的虚拟主机配置。
编辑:
我刚刚意识到这个 post 已经 4 岁了。
Overview of new features in Apache HTTP Server 2.4 状态:
NameVirtualHost directive:
No longer needed and is now deprecated.
有人可以解释在新版本的 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 header 中,如下所示,这可能是问题所在,但在我有机会之前我无法知道这一点将来某个时候测试它/
<VirtualHost site3.com:80>
DocumentRoot /var/www/html3
</VirtualHost>
您的配置是正确的,并且会自动运行,就好像 "NameVirtualHost 127.0.0.3:80" 存在一样。如果 http://site4.com 似乎是默认虚拟主机:
- 确保你实际测试的是“http://site4.com”
- 确认不是浏览器缓存
- 尝试命令行客户端
- 确保磁盘上的内容确实不同
我同意@covener。 Apache 根据它为 IP address/port 组合检测到的有效虚拟主机块数来启用 SNI。你的问题最好在 apache 的官方文档中得到解答:
https://httpd.apache.org/docs/2.4/vhosts/details.html
但是,对于完整的 NameVirtualHost 行为,要么选择一个将流量路由到您的服务器的内部 IP(在所有 vhost 配置块中使用相同的 IP),要么使用通配符 (*):
<VirtualHost *:80>
<VirtualHost *:443>
我个人使用通配符语法,在我自己的服务器上有大约 10 种不同的虚拟主机配置。
编辑: 我刚刚意识到这个 post 已经 4 岁了。