Apache NameVirtualHost*:80没有虚拟主机
我有两个域名,两个ssl证书和两个ip地址。我正在尝试为它们配置apache virtualhost文件 首先,我注释掉了端口80和443的所有“NameVirtualHost”和“Listen”实例。然后,我对虚拟主机文件执行了以下操作 域1的虚拟主机文件:Apache NameVirtualHost*:80没有虚拟主机,apache,apache2,ip,ubuntu-10.04,Apache,Apache2,Ip,Ubuntu 10.04,我有两个域名,两个ssl证书和两个ip地址。我正在尝试为它们配置apache virtualhost文件 首先,我注释掉了端口80和443的所有“NameVirtualHost”和“Listen”实例。然后,我对虚拟主机文件执行了以下操作 域1的虚拟主机文件: NameVirtualHost 1.1.1.1:80 Listen 1.1.1.1:80 Listen 1.1.1.1:443 <VirtualHost 1.1.1.1:80> ServerName domain1.c
NameVirtualHost 1.1.1.1:80
Listen 1.1.1.1:80
Listen 1.1.1.1:443
<VirtualHost 1.1.1.1:80>
ServerName domain1.com
...
</VirtualHost>
<VirtualHost 1.1.1.1:443>
...
</VirtualHost>
NameVirtualHost 1.1.1.1:80
听1.1.1.1:80
听1.1.1.1:443
ServerName域名1.com
...
...
域2的虚拟主机文件:
NameVirtualHost 2.2.2.2:80
Listen 2.2.2.2:80
Listen 2.2.2.2:443
<VirtualHost 2.2.2.2:80>
ServerName domain2.com
...
</VirtualHost>
<VirtualHost 2.2.2.2:443>
...
</VirtualHost>
NameVirtualHost 2.2.2.2:80
听2.2.2.2:80
听2.2.2.2:443
ServerName域名2.com
...
...
在您的配置中的某个地方,可能在Apache默认配置文件中(我认为Ubuntu中的/etc/apache2/httpd.conf
?有人可以在注释中更正我),有一行代码如下:
NameVirtualHost *:80
# Also
Listen 80
Listen 443
注释掉它们,然后在VirtualHost
配置文件中添加:
Listen 111.111.111.111:80
Listen 222.222.222.222:80
# If also using SSL
Listen 111.111.111.111:443
Listen 222.222.222.222:443
NameVirtualHost 111.111.111.111:80
NameVirtualHost 222.222.222.222:80
在许多默认的Apache配置中,
Listen
和NameVirtualHost
指令都带有通配符,或者全局应用于所有网络接口。由于您使用的是绑定到不同配置的多个IP地址,因此您的配置指令需要比发行版的默认配置文件更具体。在使用Ubuntu服务器的两个月内,我忽略了相同的错误。我发现这篇文章很好地解决了这个错误。非常感谢。
和您一样,我在/etc/apache2/ports.conf找到了罪犯。我试着简单地说:
# NameVirtualHost *:80
#名称虚拟主机*:80
我只注释掉了那一行,没有其他更改,也没有更多
“NameVirtualHost*:80没有虚拟主机”/etc/apache2/httpd.conf为空/etc/apache2/httpd.conf没有“NameVirtualHost”或“Listen”。仍然在看。@Jay尝试
grep-r Listen/etc/apache2
和grep-r NameVirtualHost/etc/apache2
确认理解。。。注释掉“NameVirtualHost”行和“Listen”行。我现在将更新原始帖子,了解如何修改虚拟主机文件。谢谢。@Jay是的,正确。注释掉原始指令并添加新指令ones@Jay如果不再有Listen
指令,则222 IP.NameVirtualHost的端口80上可能已经有其他指令已被弃用,不再需要。