无法使用基于名称的vhost配置访问默认服务器网站

时间:2016-10-13 15:06:31

标签: apache2.4 virtual-hosts

我目前正在使用apache中基于名称的虚拟主机配置/conf/extra/httpd-vhosts.conf来为来自同一IP地址的几个不同网站提供服务,就像在apache文档中一样。

<VirtualHost *:80>
ServerName domain1.example.com
DocumentRoot /www/domain1
</VirtualHost>

<VirtualHost *:80>
ServerName domain2.example.com
DocumentRoot /www/domain2
</VirtualHost>

如果我尝试打开一个网站,该网站是由/conf/httpd.conf配置的,由指令ServerName定义,基本上是Linux服务器的FQDN,我将在{{1}中定义第一页{1}} - apache表示DNS名称与定义的任何/conf/extra/httpd-vhosts.conf都不匹配,因此我从ServerName获得第一个。

如果我将/conf/extra/httpd-vhosts.conf中的指令Listen更改为其他端口(来自/conf/httpd.conf中定义的端口;我正在使用标准端口80)然后尝试点击{{1 (/conf/extra/httpd-vhosts.conf中定义的端口 - 我使用8000进行测试),我收到http://ServerName:PortListen)中配置的网站内容,这就是我想要的。< / p>

我尝试更改/conf/httpd.conf中定义的端口,使其与ServerRoot中临时配置的端口匹配,例如:

/conf/extra/httpd-vhosts.conf

现在,当我点击/conf/httpd.conf(端口= 8000)时,apache再次从<VirtualHost *:8000> ServerName domain1.example.com DocumentRoot /www/domain1 </VirtualHost> <VirtualHost *:8000> ServerName domain2.example.com DocumentRoot /www/domain2 </VirtualHost> 给我第一个网站 - domain1.example.com

我尝试使用服务器IP,IP:端口更新指令http://ServerName:Port(在/conf/extra/httpd-vhosts.conf中),但它也不起作用。

我的服务器有DNS A记录,Listen中的网站在DNS中配置为服务器A记录的ALIAS记录。

修改

添加/conf/httpd.conf的输出:

/conf/extra/httpd-vhosts.conf

EDIT2:

添加apachectl -S的输出:

VirtualHost configuration:
*:80                 is a NameVirtualHost
         default server domain1.example.com (/appl/apache24/conf/extra/httpd-vhosts.conf:24)
         port 80 namevhost domain1.example.com (/appl/apache24/conf/extra/httpd-vhosts.conf:24)
                 alias domain1.example.com
         port 80 namevhost domain2.example.com (/appl/apache24/conf/extra/httpd-vhosts.conf:38)
                 alias domain2.example.com
ServerRoot: "/appl/apache24"
Main DocumentRoot: "/appl/apache24/htdocs"
Main ErrorLog: "|/appl/apache24/bin/rotatelogs /appl/apache24/logs/admin-error_log.%Y%m%d 86400"
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/appl/apache24/logs/" mechanism=default
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/appl/apache24/logs/httpd.pid"

0 个答案:

没有答案