包括虚拟主机配置:

包括虚拟主机配置:

Apache 2.4/Ubuntu 20.4(Linux Mint 20.3)

我正在使用 2 个域名进行测试,example1.com 和 example2.com

我已按照说明进行操作https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04

当我进入浏览器时,我输入 example1.com 和 example2.com,它们都返回 example1.com 的页面。

我已经确认我的index.html页面在两者之间是不同的。

我检查了 /etc/apache2 中的 apache2.conf,它显示:

包括虚拟主机配置:

IncludeOptional sites-enabled/*.conf 我已经确认 /etc/apache2/sites-enabled 同时包含 example1.com.conf 和 example2.com.cong。

我已经确认 example1.com.conf 包含 DocumentRoot /var/www/example1.com 并且 example2.com.conf 包含 DocumentRoot /var/www/example2.com

我已经确认example1.com.com包含<VirtualHost *:80>并且example2.com.conf包含<VirtualHost *:80>。

我已经运行了 sudo systemctl status apache2:

已加载:已加载(/lib/systemd/system/apache2.service;已启用;供应商预设:已启用)活动:自 2022-02-05 星期六 14:33:16 EST 起处于活动状态(正在运行);2 秒前文档:https://httpd.apache.org/docs/2.4/ 进程:21894 ExecStart=/usr/sbin/apachectl start(code=exited,status=0/SUCCESS)主 PID:21916(apache2)任务:55(限制:7020)内存:4.9M CGroup:/system.slice/apache2.service ═─21916 /usr/sbin/apache2 -k start ═─21917 /usr/sbin/apache2 -k start └─21918 /usr/sbin/apache2 -k start

Feb 05 14:33:16 XXXXX systemd[1]: 正在启动 Apache HTTP 服务器... Feb 05 14:33:16 XXXXX systemd[1]: 已启动 Apache HTTP 服务器。我已运行 sudo apache2ctl configtest 并返回

语法 OK 我试过 sudo apachectl -S

VirtualHost 配置: *:80 是 NameVirtualHost 默认服务器 example1.com (/etc/apache2/sites-enabled/example1.com.conf:1) 端口 80 namevhost example1.com (/etc/apache2/sites-enabled/example1.com.conf:1) 别名 example1.com 端口 80 namevhost example2.com (/etc/apache2/sites-enabled/example2.com.conf:1) 别名 example2.com ServerRoot:“/etc/apache2” 主 DocumentRoot:“/var/www/html” 主 ErrorLog:“/var/log/apache2/error.log” 互斥默认值:dir="/var/run/apache2/" mechanism=default 互斥看门狗回调:using_defaults PidFile:“/var/run/apache2/apache2.pid” 定义:DUMP_VHOSTS 定义:DUMP_RUN_CFG 用户:name="www-data" id=33 Group: name="www-data" id=33 值得注意的是默认服务器

我已经做了许多其他事情来确认 apache2 之外的正确设置,但是尽管我在浏览器中输入了 example1.com 和 example2.com,我还是进入了两个网站中的 1 个,并且它们都解析到我的服务器,只是其中一个页面错误,所以我相信我已经正确设置了所有网络和 DNS 内容。apache 的虚拟主机部分似乎无法辨别要提供哪个网站。

有人有什么想法吗?

答案1

我已确认位于 /etc/apache2/sites-available 并链接到 /etc/apache2/sites-enabled 的虚拟主机文件存在错误,导致所有网站解析为默认网站。该错误是:

 DocumentRoot /var/www/example1.com

修正内容是添加引号:

 DocumentRoot "/var/www/example1.com"

相关内容