Я использую 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 или что-то еще-that-valid.example.com, поскольку у меня нет директивы DocumentRoot
(я тоже пытался ее добавить) из-за того, что я ' m перенаправляя на версию https, я получаю значение по умолчанию / var / www / html
.
Этот путь не появляется ни в одном файле конфигурации и, вероятно, скомпилирован как значение по умолчанию для DocumentRoot
.
Кто-нибудь знает, как сделать dev.conf виртуальным хост работает?