未提供 Apache2 默认主机 - ispconfig

Posted

技术标签:

【中文标题】未提供 Apache2 默认主机 - ispconfig【英文标题】:Apache2 default host not served - ispconfig 【发布时间】:2017-11-14 08:50:04 【问题描述】:

我的 ISPconfig/apache2 设置遇到了以下问题:

我的默认主机 000-default 未提供服务。当我在浏览器中输入 server-ip(服务器主机名)时,服务器正在提供以数字开头的域名。

我的 /etc/apache2/sites-enabled 文件夹如下所示: sites-enabled

我运行 apache2ctl -S 它告诉我,以 3xxx 开头的域是默认主机:

188.68.40.181:443      is a NameVirtualHost
     default server 3xxxxxxxx.de (/etc/apache2/sites-enabled/100-3xxxxxxxx.de.vhost:109)
     port 443 namevhost 3xxxxxxxx.de (/etc/apache2/sites-enabled/100-3xxxxxxxx.de.vhost:109)
             alias www.3xxxxxxxx.de
     port 443 namevhost dxxxx.de (/etc/apache2/sites-enabled/100-dxxxx.de.vhost:93)
             alias www.dxxxx.de
     port 443 namevhost jxxxxxx.de (/etc/apache2/sites-enabled/100-jxxxxxx.de.vhost:130)
             alias www.jxxxxxx.de
     port 443 namevhost lxx.dxxxx.de (/etc/apache2/sites-enabled/100-lxx.dxxxx.de.vhost:124)
     port 443 namevhost lxxxxxx.dxxxx.de (/etc/apache2/sites-enabled/100-lxxxxxx.dxxxx.de.vhost:100)
188.68.40.181:80       is a NameVirtualHost
     default server 3xxxxxxxx.de (/etc/apache2/sites-enabled/100-3xxxxxxxx.de.vhost:7)
     port 80 namevhost 3xxxxxxxx.de (/etc/apache2/sites-enabled/100-3xxxxxxxx.de.vhost:7)
             alias www.3xxxxxxxx.de
     port 80 namevhost dxxxx.de (/etc/apache2/sites-enabled/100-dxxxx.de.vhost:7)
             alias www.dxxxx.de
     port 80 namevhost jxxxxxx.de (/etc/apache2/sites-enabled/100-jxxxxxx.de.vhost:7)
             alias www.jxxxxxx.de
     port 80 namevhost lxx.dxxxx.de (/etc/apache2/sites-enabled/100-lxx.dxxxx.de.vhost:7)
     port 80 namevhost lxxxxxx.dxxxx.de (/etc/apache2/sites-enabled/100-lxxxxxx.dxxxx.de.vhost:7)
     port 80 namevhost txxxxx.dxxxx.de (/etc/apache2/sites-enabled/100-txxxxx.dxxxx.de.vhost:7)
*:8081                 server1.xxxxxxxxxxx.com (/etc/apache2/sites-enabled/000-apps.vhost:9)
*:80                   server1.xxxxxxxxxxx.com (/etc/apache2/sites-enabled/000-default.conf:2)
*:8080                 server1.xxxxxxxxxxx.com (/etc/apache2/sites-enabled/000-ispconfig.vhost:9)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex fcgid-pipe: using_defaults
Mutex authdigest-opaque: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex authdigest-client: using_defaults
Mutex fcgid-proctbl: using_defaults
Mutex ssl-stapling: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: MODPERL2
Define: ENABLE_USR_LIB_CGI_BIN
User: name="www-data" id=33
Group: name="www-data" id=33

据我了解,000-default.conf 应该是默认虚拟主机,因为它按字母顺序排在第一位。

000-default.conf 如下所示:

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html


# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined

</VirtualHost>

有人知道,为什么 000-default.conf 被忽略了吗?

【问题讨论】:

【参考方案1】:

000-default.conf 只是 *:80 的默认值,但你也 在特定接口/IP 地址上定义了虚拟主机(我不确定您是否打算混淆它们,所以我不会在这里引用它们)。

每组基于名称的虚拟主机都有一个默认值。带有 *:80 的所有虚拟主机都是一组,带有 1.2.3.4:80 的每个虚拟主机都是另一组。

一旦在 IP/接口层与特定虚拟主机完全匹配,Apache 将永远不会查看 *:80 虚拟主机中的名称。

【讨论】:

谢谢,就是这样!

以上是关于未提供 Apache2 默认主机 - ispconfig的主要内容,如果未能解决你的问题,请参考以下文章

Apache2 - 始终提供默认 VHOST

MAC为Apache2服务器配置多个虚拟主机

apache2 忽略默认主机并始终重定向到域,即使使用 IP

Apache2 错误:通过 SNI 和 HTTP 提供的主机名不匹配

未找到 Apache 2.2 VirtualHosts URL

RHEL 上的 Chef Apache2 配方:默认配方中未定义服务器名称