Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache NameVirtualHost*:80没有虚拟主机_Apache_Apache2_Ip_Ubuntu 10.04 - Fatal编程技术网

Apache NameVirtualHost*:80没有虚拟主机

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

我有两个域名,两个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.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上可能已经有其他指令已被弃用,不再需要。