J'utilise Apache 2.4 sur Ubuntu 16.04.
Quoi que je fasse - je ne peux pas faire fonctionner les hôtes virtuels, tout est acheminé vers la configuration définie dans le fichier 000-default.conf . J'ai activé les sites suivants :
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>
Bien entendu, le domaine a été modifié en example.com
et j'ai supprimé le véritable chemin d'accès à la racine du document.
Les deux fichiers apparaissent /etc/apache2/sites-enabled
et si l'on ajoute de la merde dans dev.conf, Apache ne démarre pas, ce qui me permet de savoir qu'il le lit.
Le DNS est correctement configuré - nslookup pour dev.example.com et example.com renvoient la même IP correcte (testé depuis un réseau externe).
J'ai eu une configuration similaire avec Debian et Apache 2.2, et cela fonctionnait très bien (je ne l'ai plus, je ne peux pas comparer).
Toutes les demandes que j'envoie sont acheminées vers 000-default.conf , dev.example.com ou anything-that's-valid.example.com, puisque je n'ai pas de nom d'utilisateur et de mot de passe. DocumentRoot
(j'ai essayé de l'ajouter également) du fait que je redirige vers la version https, j'obtiens la directive par défaut /var/www/html
.
Ce chemin n'apparaît dans aucun fichier de configuration et est probablement compilé en tant que valeur par défaut pour la fonction DocumentRoot
.
Quelqu'un a-t-il une idée sur la façon de rendre le dev.conf L'hébergeur virtuel fonctionne-t-il ?