未提供 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 忽略默认主机并始终重定向到域,即使使用 IP
Apache2 错误:通过 SNI 和 HTTP 提供的主机名不匹配