Назад | Перейти на главную страницу

Не могу заставить работать виртуальный хост

Я использую Apache 2.4 в Ubuntu 16.04.
Независимо от того, что я делаю - не могу заставить виртуальные хосты работать, все маршрутизируется в конфигурацию, определенную в 000-default.conf. У меня включены следующие сайты:

dev.conf

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

000-default.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 настроен правильно - nslookup для dev.example.com и example.com возвращают один и тот же правильный IP (проверено из внешней сети).
У меня была аналогичная установка с Debian и Apache 2.2, и она работала отлично (ее больше нет, сравнивать не могу).

Любой отправленный мной запрос направляется 000-default.conf, dev.example.com или что-нибудь еще-это-valid.example.com, поскольку у меня нет DocumentRoot директива (я тоже пытался ее добавить) из-за того, что я перенаправляюсь на версию https, я получаю значение по умолчанию /var/www/html.
Этот путь не отображается ни в одном файле конфигурации и, вероятно, скомпилирован как значение по умолчанию для DocumentRoot.

Есть ли у кого-нибудь идеи, как сделать dev.conf виртуальный хост работает?

У вас опечатка:

<VirtualHost *.80>

Должно быть

<VirtualHost *:80>