首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameVirtualHost *:80没有VirtualHosts

NameVirtualHost *:80没有VirtualHosts
EN

Stack Overflow用户
提问于 2011-08-24 02:16:44
回答 1查看 78.1K关注 0票数 38

我有两个域名,两个ssl证书和两个ip地址。我正在尝试为它们配置我的apache虚拟主机文件。

首先,我注释掉了端口80和443的"NameVirtualHost“和"Listen”的所有实例。然后,我对我的虚拟主机文件执行了以下操作。

用于domain1的VirtualHost文件:

代码语言:javascript
复制
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>

用于domain2的VirtualHost文件:

代码语言:javascript
复制
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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-24 02:20:04

在您的配置中的某个地方,可能在Apache默认配置文件中(我认为Ubuntu中的/etc/apache2/httpd.conf?有人可以在评论中纠正我),是看起来像这样的一行:

代码语言:javascript
复制
NameVirtualHost *:80

# Also
Listen 80
Listen 443

将它们注释掉,并在您的VirtualHost配置文件中添加:

代码语言:javascript
复制
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配置中,ListenNameVirtualHost指令与通配符一起提供,或者全局提供以应用于所有网络接口。由于您使用的是绑定到不同配置的多个IP地址,因此您需要在config指令中比发行版的默认配置文件更具体。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7165655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档