无法使虚拟主机工作

无法使虚拟主机工作

我在 Ubuntu 16.04 上使用 Apache 2.4。
无论我做什么 - 都无法使虚拟主机工作,所有内容都路由到000-默认.conf。我已启用以下网站:

开发配置文件

<VirtualHost *.80>
    ServerName dev.example.com
    DocumentRoot "a valid path"
    ProxyPass /api http://localhost:8090
    ServerAdmin [email protected]
    ProxyPreserveHost On
    RemoteIPHeader X-Forwarded-For
    RemoteIPInternalProxy localhost
</VirtualHost>

000-默认.conf

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.example.com [OR]
    RewriteCond %{SERVER_NAME} =example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>

当然,域名已更改为example.com,我删除了文档根目录的实际文件路径。
两个文件都显示/etc/apache2/sites-enabled,如果在 dev.conf 中添加一些垃圾,Apache 不会启动,所以我知道它会读取它。DNS
设置正确 - dev.example.com 和 example.com 的 nslookup 返回相同的正确 IP(从外部网络测试)。
我在 Debian 和 Apache 2.2 上进行了类似的设置,并且运行良好(不再有它,无法比较)。

我发送的任何请求都会路由到000-默认.conf、dev.example.com 或 anything-that's-valid.example.com,因为我没有指令DocumentRoot(我也尝试添加它)由于我重定向到 https 版本,所以我获取了默认的/var/www/html
此路径未出现在任何配置文件中,并且可能被编译为 的默认值DocumentRoot

有谁知道如何制作开发配置文件虚拟主机有用吗?

答案1

您有一个拼写错误:

<VirtualHost *.80>

应该

<VirtualHost *:80>

相关内容